我用Adotable的connectionstring屬性寫了一段代碼,意圖通過它與SQL資料庫建立連接,出現missing connectiong or connectionstring 的錯誤,初步懷疑是變數型別出錯了,代碼如下:
infile2.open("..\\data_dd\\config.txt");
getline(infile2,config);
infile2.close();
ADOTable2->ConnectionString=config.c_str();
ADOTable2->TableName=tablename2;
ADOTable2->Active=true;
其中,config是string型別的變數;
config.txt中是一串字符(引號中的內容):
"Provider=SQLOLEDB.1;Password=wq2mds;Persist Security Info=True;User ID=wq2mds;Initial Catalog=WQ2MDS;Data Source=192.168.1.103";
(我的意圖主要是想在用戶名和密碼以及IP改變的情況下程式都能夠運行,所以將ADOTable2->ConnectionString的賦值用一個變數代替了,這樣用戶名、密碼及IP改變的話,只需在文本檔案“config.txt”中操作就可以了)
各位大俠誰能指點一二啊...
uj5u.com熱心網友回復:
ADOTable2->ConnectionString=config.c_str();在這行代碼以前加一句:
ShowMessage(config);
看看從檔案中讀入的連接字串是否正確。
uj5u.com熱心網友回復:
把config.c_str()放到設計器里試一下,看對否。uj5u.com熱心網友回復:
設計器什么的,真心不懂...uj5u.com熱心網友回復:
設計器就是看物件屬性的那個面板uj5u.com熱心網友回復:
先用一個ADOConnection連接資料庫,然后再使用ADOTABLE或者ADOQUERY連到ADOConnectionAnsiString sPath=ExtractFilePath(Application->ExeName);
TStringList *sl=new TStringList();
sl->LoadFromFile(sPath+"config.txt");
ADOConnection->ConnectionString = sl->Strings[0];
try{
ADOConnection->Connected = true;
}catch(Exception &e){
ShowMessage("連接資料庫失敗!原因:"+e.Message);
delete sl;
Application->Terminate();
}
delete sl;
ADOTable2->Connection=ADOConnection;
ADOTable2->TableName=tablename2;
ADOTable2->Active=true;
uj5u.com熱心網友回復:
看看你的連接字串是否有問題轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131736.html
標籤:數據庫及相關技術
上一篇:大數階乘,用單鏈表
下一篇:有關資料庫問題
