环境:D7+ ODBC5.1 +MYSQL5.0 windowxp查询语句:
str--是一个string 的变量,并且有值
sql:='select * from a where name='''+str+'''';
当我 showmessage(sql)时,显示正常,
但当我执行的候Query.open; 时报错如下: You have an error in your SQL syntax:check the manual that corresponds to your
MySQL server version for the right syntax to use near ' from a where a='12'' at line 1'.
很奇怪我showmessage输出时看是正常,为什么mysql 执行的时候多了一个 '(单引号)?
问题出在那里?如何解决?
解决方案 »
- DBgrid (望高手指点)
- 如何将一条已经发生旋转的直线经过旋转后恢复到原来的水平状态?
- 在三层中(SocketConnection),怎样在中间层中定义一个接口过程(方法),客户端又怎调用,谢谢
- 关于怎样取得域帐户的问题!
- 是我们毕业设计的 我做了一个像OFFICE2000时启动的一个画面经过5秒后跳到主FORM上.可我在我自己的机器上好使 可拷到别人机器上就只有一个
- 关于delphi中窗口从绘的消息
- sender参数是用来干什么的?
- 请问ShellAPI这个unit有什么功能?
- 关于联合查询的头疼问题...
- 请问:怎样从一个*.dll中取得其中的*.ico文件?
- 关于delphi中fastreport的问题
- xe2 extractfilepath问题?
最简单的办法, 你用msg的字符串直接执行sql, 看能不能通过...
--试下带参数输入
自己用控件实现
--或者用格式化函数
sql:= format('select * from a where name=%s', [QuotedStr(str)]);