全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:835
推到 Plurk!
推到 Facebook!

ADOQuery应用中的一个错误

答題得分者是:terrychen
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-25 11:49:04 IP:61.165.xxx.xxx 未訂閱
想新建一个表,新建数据并显示出来。利用ADOQuery.SQL创建了一个table,并将其作为dataSource1的dataset,而dataSource1是DBGRid1的数据源,ADOQuery1的操作程序如下: ADOQuery1.SQL.Add('CREATE TABLE ex_table'); ADOQuery1.SQL.Add('(code char(10) NOT NULL,'); ADOQuery1.SQL.Add('Name char(12),') ; ADOQuery1.SQL.Add('age int )') ; ADOQuery1.SQL.Add('INSERT ex_table (code,name,age)'); ADOQuery1.SQL.Add('Values (127,888,18)') ; ADOQuery1.Open; ADOQuery1.Active:=true; 运行出现错误信息:“ADOQuery1:CommandText does not return a result set.'但当在程序编辑环境的ADOQuery1的SQL中加入"select * from ex_table",就没有问题。可是并不是我想要的显示。为什么呢?怎样改呢? 请帮忙纠错啊。谢谢!
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-25 11:52:25 IP:61.221.xxx.xxx 未訂閱
您好: 將ADOQuery1.Open; 改為ADOQuery1.ExecSQL;即可 這是因為insert沒有回傳值 基本上有回傳值用ADOQuery1.Open; 無回傳值用ADOQuery1.ExecSQL; ~~應無所住而生其心~~ 發表人 - Terrychen 於 2004/02/25 11:53:59
Amanda_Chen
一般會員


發表:25
回覆:82
積分:21
註冊:2003-12-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-25 12:05:35 IP:61.165.xxx.xxx 未訂閱
嗯,明白了。果然改了一下就可以了。加了一句ADOQuery1.SQL.Add('select * from ex_table');则open 和 execSQL都可以啦!谢谢Terry大大解释得又清楚又简短又快速!敬佩中 
系統時間:2024-06-29 16:30:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!