注册 登录
编程论坛 ASP.NET技术论坛

写入数据库单引号问题

垃圾的沉默 发布于 2007-11-29 12:58, 2534 次点击
insert into jt(num) values('"  + num  +  "')";
num这里会有几个单引号.,,写入数据库的时候会报错..怎么办?数据是从TEXTBOX那里提取的
18 回复
#2
FenteLi2007-11-29 13:02
路过,没有碰到过这样问题啊。以前我也往数据库中写过带'的文本,但当时并没有出现错误啊。
#3
MikeFT2007-11-29 13:05
num是什么类型的,再就是num数据有没有问题???
#4
垃圾的沉默2007-11-29 13:20
num 内容是数字加符号和英文字符
文本模式..我写进去的时候有单引号就会报错
#5
MikeFT2007-11-29 13:23
那你写入数据库的时候报什么错???
#6
zhanghy10282007-11-29 13:24
那你直接向数据字段中添加’号会不会添加不了
#7
垃圾的沉默2007-11-29 17:21
是语句报错..如果直接加就可以..如果加上单引号就会变成 ('"+ 35/5 w'x'  3/4 +"')这样..语句就会报出查询语句错误
#8
师妃暄2007-11-29 17:27
现在C#已经摒弃了insert into jt(num) values('"  + num  +  "')";
这种写法

而要用insert into jt(num) values(@num );
#9
垃圾的沉默2007-11-30 02:25
我一直都在用那个用法..呵呵..
LS的能不能给个小小的例子我..学习一下..我一直以为SQL server才适用..我现在工作很少用到那个数据库..一直都没去学这个..这个对在access数据库行的吗?

[[italic] 本帖最后由 垃圾的沉默 于 2007-11-30 02:27 编辑 [/italic]]
#10
explorer_zh2007-11-30 10:17
"insert into jt(num) values(' "   num  " ')"; 试试
#11
垃圾的沉默2007-11-30 17:58
真正添加的时候会有多个列一起加进去。。只是不知道怎么加。。这是个麻烦问题。。
#12
冰彩虹2007-12-01 01:48
常规做法如那个师什么姬
#13
bygg2007-12-01 13:42
数据库中的单引号有转义作用。。
#14
hnzz_wgf2007-12-01 14:28
支持一下
#15
guoxhvip2007-12-01 16:21
看你的语法好象没看出有什么错 还是写成存储过程吧 现在开发中很多都用存储过程
#16
卜卜2007-12-01 18:52
会不会是你的那个单引号和双引号的全角/半角,中文/英文状态由问题呢?
#17
垃圾的沉默2007-12-01 22:48
问题是解决了..我弄成存储过程了..转成Sql server 数据库.....像师.....的那种写入数据库写法也可以用地Access数据库..终于弄明白怎么回事了..感觉那样比我那样写法比较明确..
#18
卡卡艾2007-12-02 19:43
得看你的num在数据库里是什么数据类型了.
]如果是整形,直接用:   "+num+"  
如果是字符形,则'  "+num+"  '
#19
垃圾的沉默2007-12-03 02:56
是字符型...如果用'"+ num + '" 的话..如果有特殊字符或者有单引号..就会导致语句发生错误..无论全角半角都会发生错误....用@num 的话..就不会造成语句变型...是我太懒了..觉得知道一种办法就可以了..得改改这种习惯..同样地功能应该知道多种办法实现..从当中选出最合适的
1