以文本方式查看主題

-  曙海教育集團論壇  (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自動顯示可以使用的控件列表功能,但我強加上后面的代碼仍然可以使用。怎么回事?



主站蜘蛛池模板: 女人张开腿让男人桶视频 | 亚洲免费人成在线视频观看| 国产极品粉嫩交性大片| 日产欧产va高清| 亚洲自偷自偷在线制服| 丰满爆乳一区二区三区| 狠狠人妻久久久久久综合蜜桃| 国产精品国产精品偷麻豆| 久久99九九国产免费看小说| 波多野结衣伦理电影在线观看| 国产成人午夜性a一级毛片| 一个人看的片免费高清大全| 欧美一区二区久久精品 | 一级做a爱视频| 欧美jizz18性欧美年轻| 午夜人妻久久久久久久久| 777奇米四色| 娜露温泉无删减视频在线看| 五月天丁香久久| 男男暴菊gay无套网站| 国产尤物在线视精品在亚洲| a级成人毛片久久| 日本爽爽爽爽爽爽在线观看免| 亚洲色大成网站www永久| 被女同桌调教成鞋袜奴脚奴| 在线精品91青草国产在线观看 | 国产高清不卡视频| 中文字幕视频在线观看| 欧美亚洲国产一区二区三区| 再深点灬舒服灬太大了动祝视频| jizzjizz成熟丰满舒服| 女女同恋のレズビアン漫画| 久久精品成人一区二区三区| 波多野结衣种子网盘| 国产jizzjizz免费看jizz| 曰批全过程免费视频网址| 差差漫画页面登录在线看| 五月天亚洲婷婷| 欧美高清video| 北条麻妃国产九九九精品视频| 黄网站免费在线观看|