請教UPDATE、INSERT在ADO与ODBC中的區別 |
尚未結案
|
Black Knight
一般會員 發表:6 回覆:8 積分:2 註冊:2003-04-24 發送簡訊給我 |
我有一個access資料庫db1.mdb,用adoquery1去連接:
方式一:
在ODBC里的系統DSN里新建數据源A,并連接上db1.mdb,再用adoquery連上A
adoquery1.ConnectionString='Provider=MSDASQL.1;Persist Security Info=False;Data Source=a'
方式二:
直接用adoquery1連接db1.mdb
adoquery1.ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False' 同樣的設計期的SQL語句:insert into checkuser(username,password) values('k1','k1') 用方式一的話一切OK
用方式二的話當adoquery1.ExecSQL時報“INSERT INTO的語句語法錯誤”,同樣問題也出在當使用UPDATE時,當用SELECT時兩种方式都OK 請問這是什么原因呢?
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
这是由于2中数据库驱动程式的缘故。
//FOR ODBC
adoconnection1.ConnectionString :='Provider=MSDASQL.1;Persist Security Info=False;Data Source=a;Extended Properties="DSN=a;DBQ=C:\db2.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"';
adoconnection1.Connected :=true;
ADOQuery1.Close ;
ADOQuery1.Connection :=adoconnection1;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('insert into checkuser (username,password) values (''k1'',''k1'')');
ADOQuery1.ExecSQL; //FOR OLEDB.4.0
{adoconnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2.mdb;Persist Security Info=False';
adoconnection1.Connected :=true;
ADOQuery1.Close ;
ADOQuery1.Connection :=adoconnection1;
ADOQuery1.SQL.Clear ;
//全部字段INSERT操作
ADOQuery1.SQL.Add('insert into checkuser values (21,''k1'',''k1'')');
ADOQuery1.ExecSQL; OLEDB相关说明,请参阅其它文档 供参考!!!! 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 弟試過兩種方式是都可以正常工作無誤的, 而且之前在使用 access 資料庫時也都沒有發生過這樣的問題. 1.
Provider=MSDASQL.1;Persist Security Info=False;Data Source=myaccess
2.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db4.mdb;Persist Security Info=False sqlcommand: insert into t1 (pid, pname) values ('d', 'testd') 也都是 ok 無誤. 找不出你說的問題.
不過還是請你檢查一下兩種連接方式所以的 mdb 檔是不是同一個 (純屬猜測)..
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
Black Knight
一般會員 發表:6 回覆:8 積分:2 註冊:2003-04-24 發送簡訊給我 |
|
Black Knight
一般會員 發表:6 回覆:8 積分:2 註冊:2003-04-24 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |