有关SQl语句的问题,请进!!!!

喜欢编程朋友 2005-08-18 12:40:18
我用的是Access数据库,用Delphi写的程序,出现错误!帮忙看看!

dl:='wwwww'+#39+'wwwww';
ADOQcon.Close;
ADOQcon.SQL.Clear;
ADOQcon.SQL.Text:='select * from kk where dl_name='+#39+dl+#39;
ADOQcon.Open;

dl是个变量,而这个变量的值中就带有“'”,这时候在SQL语句中执行的时候,就出现问题了。
不知道该怎么解决,或者处理一下,但是我的变量中的这个值中肯定带“'”的。。
大伙帮忙呀!!!!
...全文
120 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
劣势 2005-08-18
  • 打赏
  • 举报
回复
变相转化一把,单引号数据在数据库操作中有问题,将它转化为特殊字符
读出的时候在转化回来
yuanscar 2005-08-18
  • 打赏
  • 举报
回复
dl:='wwwww'+ '''' +'wwwww';
prostickman 2005-08-18
  • 打赏
  • 举报
回复
寒一个,不可以编辑之前的贴
之前好像理解错了题意
要不这样子用,绝对没问题

dl:='wwwww'+#39+'wwwww';
ADOQcon.Close;
ADOQcon.SQL.Clear;
ADOQcon.SQL.Text:='select * from kk where dl_name=:dlName';
ADOQcon.Parameters[0].Value := dl;
ADOQcon.Open;

zsjzwj 2005-08-18
  • 打赏
  • 举报
回复
用参数传
prostickman 2005-08-18
  • 打赏
  • 举报
回复
哦,没看清楚,是在access下的?
access支持用双引号 " 的
ADOQcon.SQL.Text:='select * from kk where dl_name="''dl''"'


prostickman 2005-08-18
  • 打赏
  • 举报
回复
ADOQcon.SQL.Text:='select * from kk where dl_name=''''dl'''''

SQL 2000下测试成功
Teng_s2000 2005-08-18
  • 打赏
  • 举报
回复
ADOQcon.SQL.Text:='select * from kk where dl_name=#39+dl+#39';
喜欢编程朋友 2005-08-18
  • 打赏
  • 举报
回复
我的意思是说ADOQcon.SQL.Text:='select * from kk where dl_name='+#39+dl+#39;这个语句中的dl变量里面本身含有单引号,也就是单引号是dl变量中的值。这时候数据库执行失败,怎么来处理??
peterluolaw 2005-08-18
  • 打赏
  • 举报
回复
ADOQcon.SQL.Text:='select * from kk where dl_name='+quotedstr(dl);

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧