sql字符转整数出错

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:46:27
sql = "INSERT INTO renc (uname,upass,umail,utime,jbxx2,jbxx1,qzyx3,jbxx5,jbxx6,jbxx7,jbxx8,jbxx16,jbxx18,jbxx19) VALUES ('"&uname&"','"&upass&"','"&umail&"','"&utime&"','1980','&jbxx1&','&qzyx3&','&jbxx5&','&jbxx6&','&jbxx7&','&jbxx8&','&jbxx16&','&jbxx18&','&jbxx19&')"

jbxx7在数据库里是“int”,这样运行的话,提示:错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E07)
将 varchar 值 '&jbxx7&' 转换为数据类型为 int 的列时发生语法错误。
<select name=jbxx7>
<option selected>-请选择-</option>
<option value="1" <%if jbxx7=1 then Response.Write("selected")%>>小学</option>
<option value="2" <%if jbxx7=2 then Response.Write("selected")%>>初中</option>

将 varchar 值 '&jbxx7&' 转换为数据类型为 int 的列时发生语法错误。
上面两位的回答都不是问题,问题出在'&jbxx7&'这个字符串上,如果在jbxx7这个int型的字段上,插入字符串'&jbxx7&',就会报上面的错误。如果没有,就不会发生任何问题。你是要插入字符串'&jbxx7&'吗?还是想插入int型变量jbxx7?如果是变量,应这样写:" & jbxx7 & "或者'" & jbxx7 & "'都行,只要你保证jbxx7的值是数字。
如果你想插入字符串,就得把字段jbxx7的类型改成varchar型的,否则肯定会出错。

写多一个类型转换语句:int i=Convert.ToInt32(&jbxx7&);又或者,你在数据库里将该字段的类型改为text也行啊,,

'&jbxx7&'给2边的单引号去掉就行了

SQL中请单引号