导航:
论坛 -> 数据库专区
斑竹:liumazi,waterstone
作者:
2020/2/16 14:29:58
标题:
FDQuery1.ExecSQL执行出错时,怎样显示错误的SQL语句?
浏览:1903
加入我的收藏
楼主:
FDQuery1:TFDQuery try FDQuery1.ExecSQL('INSERT INTO Test(ID,Name,Date) VALUES(:ID,:Name,:Date)',[FieldByName('ID').AsInteger, FieldByName('Name').AsString, FieldByName('Date').AsDateTime]); except on e: Exception do sError := e.Message +':'+ FDQuery1.SQL.Text; end; 如上,sError得到的语句不全,没有后面的参数,有其它属性可以得到吗? 还是要自己写?
----------------------------------------------
-
作者:
2020/2/16 15:34:06
1楼:
用个临时变量 try aStr:='INSERT INTO Test(ID,Name,Date) VALUES(:ID,:Name,:Date)',[FieldByName('ID').AsInteger, FieldByName('Name').AsString, FieldByName('Date').AsDateTime]; FDQuery1.ExecSQL(aStr); on e: Exception do sError := e.Message +':'+ aStr; end;
----------------------------------------------
http://www.cnblogs.com/tulater/
作者:
2020/2/16 15:45:14
2楼:
to tulater: aStr:='INSERT INTO Test(ID,Name,Date) VALUES(:ID,:Name,:Date)',[FieldByName('ID').AsInteger, FieldByName('Name').AsString, FieldByName('Date').AsDateTime]; 这条语句编译不可能通过吧。。。
----------------------------------------------
-
作者:
2020/2/16 20:59:49
4楼:
我是直接写 不用 参数 FDQuery1.ExecSQL('INSERT INTO ToDoListTable VALUES(null, '''+uniEdit1.Text+''',0)');
----------------------------------------------
http://www.cnblogs.com/tulater/
作者:
2020/2/17 15:55:18
5楼:
to tulater: 如下面的代码: try FDQuery1.ExecSQL('INSERT INTO Test(ID,Name,Date) VALUES(:ID,:Name,:Date)',[FieldByName('ID').AsInteger, FieldByName('Name').AsString, FieldByName('Date').AsDateTime]); except on e: Exception do sError := e.Message +':'+ FDQuery1.SQL.Text; end; 如果SQL执行出错了,FDQuery1.SQL.Text返回的是这样的字符串, 如:INSERT INTO Test(ID,Name,Date) VALUES(:ID,:Name,:Date) 我希望能得到真正执行的SQL语句, 如:INSERT INTO Test(ID,Name,Date) VALUES(1,'小明','2020/1/1 15:00:00') 请问哪位高手会呢? (因为用ExecSQL带参数的方式写代码比较简便,不管什么数据类型都不需要自己处理了,很方便。)
----------------------------------------------
-
作者:
2020/2/18 7:51:22
6楼:
AsDateTime 说明 还是 自己判断 参数数据类型的啊
----------------------------------------------
我打的是酱油,而不是别的什么油。 我灌的是口水,而不是别的什么水。 我聊的折腾不是那个不折腾的折腾。 我说的阿娇不是那个邓玉娇的阿娇。 3个代表,6个为什么,9个肠胃炎。 D性强的领导干部都不喜欢热比娅。 我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一