数据表'表1'中有一字符型字段,字段名为“名称”。在这个字段中含有带单引号的记录如'DDD'。使用SQL查询时系统报错,错误如下:语法错误(操作符丢失)在查询表达式''名称=''DDD''中。
查询语句设置如下:
Str:='Delete from 表1 Where 名称 ='+ ''''+ X +'''';
ADOQuery1.Sql.Add(Str);
ADOQuery1.ExecSQL;
其中X是字符型变量,X的值由X:=ADOTable1.FieldByName('名称').AsString;获得。也就是说以'DDD'形式保存的数据是可以正确读出的,但是查询时不行。
烦请各位帮忙,谢谢!
查询语句设置如下:
Str:='Delete from 表1 Where 名称 ='+ ''''+ X +'''';
ADOQuery1.Sql.Add(Str);
ADOQuery1.ExecSQL;
其中X是字符型变量,X的值由X:=ADOTable1.FieldByName('名称').AsString;获得。也就是说以'DDD'形式保存的数据是可以正确读出的,但是查询时不行。
烦请各位帮忙,谢谢!
解决方案 »
- 求助:PDF和WORD的存和取
- 一段关于权限的代码有点问题,请高手指教
- 一个关于Listbox.items.strings的问题(有关AddItem(String,Object))在线等待
- 如何使word、记事本中的另存等菜单选项无效。
- 请问:delphi有自带的做setup.exe(打包)吗?
- 如何为动态创建的几个Button设置事件处理函数,如Click事件?在线等待..
- 怎样判断TlistBox中是否存在某字符串(在线等待)
- 多层应用中,在广域网上用DCOM通讯行吗,应该如何实现?
- ADO三层主从关系如何处理?
- 有关注册表加一个dword值
- 各位来看看,vclskin的问题!谢谢
- 来个小题目啊,大家来练习一下,送分了
ADOQuery1.Sql.Add(Str);
ADOTable1.FieldByName('a').AsString :='''DDD''';
ADOQuery1.ExecSQL;这么来
ADOQuery1.Sql.Add(Str);
ADOQuery1.Parameters[0].Value:=X;
ADOQuery1.ExecSQL;
ADOQuery1.Sql.Add(Str);
ADOQuery1.ExecSQL;
或者Str:='Delete from 表1 Where 名称 ='+ Quotedstr(X);
ADOQuery1.Sql.Add(Str);
ADOQuery1.ExecSQL;