查看: 1034|回复: 5
|
SQL 指令纠正 - 问题解决了,谢谢大家
[复制链接]
|
|
各位,想请问遇到这种问题,要如何解决:
我是用着VB.Net,假设:
Dim A,B,C as String
A = "Abu Sa'am"
B = "25"
C = "Malaysia"
现在我要把这个A储存入SQL的Table,我用了 insert into
cnSQL.Execute("INSERT INTO Profile ( Name, Age, Country )" _
& "values ('" & A & "','" & B & "','" & C & "')")
当我执行时,遇到了问题:
Line 1: Incorrect Syntax error: 'am'
因为在A里,人名有“ ' ” 这个分号,而且不能够免除。。。因此造成错误。有办法解决吗?
谢谢
[ 本帖最后由 johe07 于 22-12-2005 09:48 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 22-12-2005 09:11 AM
|
显示全部楼层
我忘了VB是否能够用Escape String,可以试试看。
A = "Abu Sa\'am"
如果不能的话就用
A = "Abu Sa" & chr(39) & "am" |
|
|
|
|
|
|
|
发表于 22-12-2005 09:29 AM
|
显示全部楼层
这样写就可以了:
cnSQL.Execute("INSERT INTO Profile ( Name, Age, Country )" _
& "values ('" & Replace(A, "'", "''") & "','" & B & "','" & C & "')")
VB 的 escape characters 是 " |
|
|
|
|
|
|
|
楼主 |
发表于 22-12-2005 09:34 AM
|
显示全部楼层
原帖由 goatstudio 于 22-12-2005 09:29 AM 发表
这样写就可以了:
cnSQL.Execute("INSERT INTO Profile ( Name, Age, Country )" _
& "values ('" & Replace(A, "'", "''" ...
谢谢kfchai1982,goatstudio的回答。
goatstudio大大,我照你的方法试了,出现了以下错误讯息:
“String or binary data would be truncated.”
[ 本帖最后由 johe07 于 22-12-2005 09:37 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 22-12-2005 09:39 AM
|
显示全部楼层
原帖由 johe07 于 22-12-2005 09:34 AM 发表
谢谢kfchai1982,goatstudio的回答。
goatstudio大大,我照你的方法试了,出现了以下错误讯息:
“String or binary data would be truncated.”
这个错误讯息是, 你的资料库的 field 的 size 太小, 加大它就能解决了. |
|
|
|
|
|
|
|
楼主 |
发表于 22-12-2005 09:41 AM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|