|
1,ADOConnection和ADOTable在delphi中的使用
ADOConnection和ADOTable在delphi中像許多書中教的那樣設(shè)置好連接上數(shù)據(jù)庫(我用的SQLServer),運(yùn)行沒有問題。然后我修改,目的是能修改連接數(shù)據(jù)庫而不用在delphi中修改ADOConnection的ConnectionString屬性,還不出現(xiàn)連接對話框。
修改步驟:將LoginPrompt設(shè)置為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(數(shù)據(jù)庫連接有誤!!請檢查DataConfig.XML,mtConfirmation,[mbOk],0);
Application.Terminate;
end;
這樣程式運(yùn)行起來,連接數(shù)據(jù)庫是沒有問題的。但出現(xiàn)的問題是在dlephi中ADOTable控件是不能連接表的,因?yàn)镃onnectionString屬性沒有值。報錯為“無效的授權(quán)說明”。怎么既能在delphi中使用ADOConnection和ADOTable控件,又能不出現(xiàn)那個討厭的連接對話框。
2,在delphi中使用sql語句。
因?yàn)閟ql語句中給字符串賦值需要用雙引號,而delphi中用單引號括起字符串,我使用遇見了一些問題。我試驗(yàn)的結(jié)果是delphi中用兩個單引號代替sql語句中的雙引號。不知道對不對?
具體怎么使用,我還是不太清晰。
3,在delphi 7.0中使用ADOQuery的返回結(jié)果,書中介紹使用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自動顯示能使用的控件列表功能,但我強(qiáng)加上后面的代碼仍然能使用。怎么回事?
聯(lián)系客服