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

关于SQL的奇怪问题

尚未結案
railgunman
初階會員


發表:59
回覆:121
積分:36
註冊:2003-03-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-24 17:52:42 IP:218.88.xxx.xxx 未訂閱
各位高手,我遇到一个问题,是这样的:我在VFP6.0里面执行(select * from meter where a5='555555')时顺利通过!但是我通过程序来执行那句SQL语句时报错,错误为:Project ykbz.exe railsed exception EBDEngineError With Message Key Violation. [Microsoft][ODBC Visual Foxpro Driver]Field A02 does Not accept null values. 我觉得很奇怪!照理说应该可以的呀! 程序代码如下: with dm1.Q_vfp do begin close; sql.Clear; unprepare; sql.Add('insert into meter(a5) values(:a5)'); params[0].AsString := dm1.T_WorkBasic.fieldbyname('a1').AsString; prepare; execsql; close; end;
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-24 17:58:30 IP:218.32.xxx.xxx 未訂閱
insert into meter(a5) values(:a5) 只給 a5 字段值, 而 a02 字段不允許空值, 所以報錯.
railgunman
初階會員


發表:59
回覆:121
積分:36
註冊:2003-03-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-25 11:36:40 IP:218.88.xxx.xxx 未訂閱
提示是如此,但我感到很疑惑的是:在VFP界面里执行那段SQL语句时,不会有任何提示!并且,METER表中的字段除了A5以外,其它的都是可以为空的。但通过程序来执行那句SQL语句时要报错。这是什么原因呢?
railgunman
初階會員


發表:59
回覆:121
積分:36
註冊:2003-03-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-27 09:31:40 IP:218.88.xxx.xxx 未訂閱
Thanks,Mickey! 我找到问题的解决办法了,原来使配置ODBC时多选了一个参数,所以每次向VFP表里面插入数据时,ODBC都要检查字段,要求每一个字段都不为空!
系統時間:2024-07-04 21:13:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!