佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1034|回复: 5

SQL 指令纠正 - 问题解决了,谢谢大家

[复制链接]
发表于 22-12-2005 08:54 AM | 显示全部楼层 |阅读模式
各位,想请问遇到这种问题,要如何解决:

我是用着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 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 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 | 显示全部楼层
哦。。。我怎么没想到。。。谢谢你。。。^_^
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 14-11-2024 03:09 PM , Processed in 0.139058 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表