以文本方式查看主題

-  曙海教育集團論壇  (http://www.scb-ycwb.com/bbs/index.asp)
--  Delphi程序設計  (http://www.scb-ycwb.com/bbs/list.asp?boardid=76)
----  幾個delphi書中沒提過的數據庫問題與我的疑惑和心得(一起討論)  (http://www.scb-ycwb.com/bbs/dispbbs.asp?boardid=76&id=2570)

--  作者:wangxinxin
--  發布時間:2010-12-14 11:16:27
--  幾個delphi書中沒提過的數據庫問題與我的疑惑和心得(一起討論)

1,ADOConnection和ADOTable在delphi中的使用

ADOConnection和ADOTable在delphi中像許多書中教的那樣設置好連接上數據庫(我用的SQLServer),運行沒有問題。然后我修改,目的是可以修改連接數據庫而不用在delphi中修改ADOConnection的ConnectionString屬性,還不出現連接對話框。

修改步驟:將LoginPrompt設置為false,將ConnectionString屬性清空,添加連接代碼

conStr:=\'Provider=SQLOLEDB.1;Password=1982072019;User ID=sa;Initial Catalog=StorageManagement;Data Source=10.16.99.175\';
  try
    loginForm.tempADOConnection.ConnectionString :=conStr;
    loginForm.tempADOConnection.Connected := true;
  except
    messagedlg(\'數據庫連接有誤!!請檢查DataConfig.XML\',mtConfirmation,[mbOk],0);
    Application.Terminate;
  end;

這樣程序運行起來,連接數據庫是沒有問題的。但出現的問題是在dlephi中ADOTable控件是不能連接表的,因為ConnectionString屬性沒有值。報錯為“無效的授權說明”。如何既能在delphi中使用ADOConnection和ADOTable控件,又可以不出現那個討厭的連接對話框。

2,在delphi中使用sql語句。

因為sql語句中給字符串賦值需要用雙引號,而delphi中用單引號括起字符串,我使用遇到了一些問題。我試驗的結果是delphi中用兩個單引號代替sql語句中的雙引號。不知道對不對?

具體如何使用,我還是不太清楚。

3,在delphi 7.0中使用ADOQuery的返回結果,書中介紹使用Params[\'xxxx\'].AsString;

我使用后報錯,但有一個光盤的程序這樣使用沒有報錯。我使用的是Parameters[\'xxxx\'],也使用不了.AsString

4,原代碼:
====================================================================
if canInsert then
  begin
    with allDataModule.AQ_OtherMaterielOut do
    begin
      Close;
      SQL.Clear;
      SQL.Text:=\'insert otherMaterielOut(materielID,amount) values (:insertID,:insertAmount,)\';
      Parameters[0].Value:=myMateriel;
      Parameters[1].Value:=myAmount; 
      ExecSQL;
    end;
    with allDataModule.AQ_OtherMaterielStock do
    begin
      Close;
      SQL.Clear;
      SQL.Text:=\'update otherMaterielStock set amount=amount-:updateAmount where materielID=:updateID\';
      Parameters[0].Value:=myAmount;
      Parameters[1].Value:=myMateriel;
      ExecSQL;
    end;
    materielOutForm.Close;
  end;

在這段代碼之后
with allDataModule.AQ_OtherMaterielOut do
    begin
      Close;
      SQL.Clear;
      SQL.Text:=\'update otherMaterielStock set amount=amount-:updateAmount where materielID=:updateID\';
      Parameters[0].Value:=myAmount;
      Parameters[1].Value:=myMateriel;
      ExecSQL;
    end;

不能使用allDataModule自動顯示可以使用的控件列表功能,但我強加上后面的代碼仍然可以使用。怎么回事?



主站蜘蛛池模板: 卡通动漫精品一区二区三区| 亚洲性69影院在线观看| 成人欧美一区二区三区| 青娱乐国产视频| 五月天丁香久久| 国产欧美曰韩一区二区三区| 欧美激情精品久久久久久久九九九| 一级做a爰全过程免费视频毛片| 国产亚洲一区二区在线观看| 日本里番全彩acg里番下拉式| 91免费国产在线观看| 久久精品国产亚洲AV麻豆不卡| 国产欧美日韩在线观看一区二区 | 永久在线观看www免费视频| 亚洲毛片一级带毛片基地| 国产超碰人人模人人爽人人喊| 欧美边吃奶边爱边做视频 | 午夜精品久久久久久| 婷婷丁香五月中文字幕| 狠狠色狠狠色综合日日不卡| 99在线精品视频在线观看| 亚洲日韩欧美一区久久久久我 | 男人扒开添女人下部免费视频| AV无码久久久久不卡蜜桃| 亚洲国产成人va在线观看 | 成人看片黄a在线观看| 久久久久人妻精品一区三寸| 四虎884tt紧急大通知| 嫩草香味在线观看6080| 欧美日韩在线视频一区| 黑白禁区在线观看免费版| 中文字幕亚洲欧美日韩在线不卡| 午夜不卡av免费| 国产综合久久久久鬼色| 日本理论片午午伦夜理片2021| 精品无码一区二区三区亚洲桃色| 99热这里只/这里有精品| 久久精品国产乱子伦| 免费能直接在线观看黄的视频免费欧洲毛片**老妇女 | 亚洲午夜无码久久| 国产一区二区三区不卡AV|