線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1750
推到 Plurk!
推到 Facebook!

ADO一問

 
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-04-04 15:49:06 IP:211.74.xxx.xxx 未訂閱
請問ADO可否批次執行sql語法,例如 adoquery1.sql.LoadFromFile('sql.txt') ADODM.ADOQ1.execsql; 其'sql.txt'中含有各式的SQL語法(create Table,insert into ,...) 是否需自行作解析其'sql.txt'中語法?? 或有其他做法??
Diviner
初階會員


發表:36
回覆:112
積分:34
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-04-08 10:23:40 IP:202.123.xxx.xxx 未訂閱
引言: 請問ADO可否批次執行sql語法,例如 adoquery1.sql.LoadFromFile('sql.txt') ADODM.ADOQ1.execsql; 其'sql.txt'中含有各式的SQL語法(create Table,insert into ,...) 是否需自行作解析其'sql.txt'中語法?? 或有其他做法??
應該是不可以的, 就以 Select 跟 Insert 兩個 Command 來說, 一個有 DataSet 傳回, 一個沒有, 執行兩種 SQL 後的處理方法都不一樣; 比較可行的方法是用分號把 SQL 句子分開, 反正 SQL 句子裡面是不會有分號出現的, 然後自己 Parse 出來一句句 SQL 出來執行, 有 DataSet 傳回的就用 TADODataSet, 無的就用 TADOCommand。
------
--
小卜子
lee
站長


發表:55
回覆:173
積分:45
註冊:2002-02-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-04-08 11:47:45 IP:61.219.xxx.xxx 未訂閱
str:='create table;insert into...;...';
repeat
   p:=pos(';',str);
   s:=copy(str,1,p-1);
   str:=copy(str,p 1,length(str));
   ADODM.ADOQ1.sql.add(str);
   ADODM.ADOQ1.execsql;
until str='';
未測過,語法可能有誤! ~~~Delphi K.Top網站總管~~~
------
~~~Delphi K.Top網站總管~~~
系統時間:2024-04-27 5:48:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!