【发布时间】:2009-08-21 16:29:18
【问题描述】:
我有一个 ASP.Net 表单,它从文本框中获取一个值:
<asp:TextBox ID="txtID" runat="server" maxlength=9></asp:TextBox>
ID 必须是 9 个数字。
它抓取之后,我想将它插入到数据库中(SQL Server 2005),所以我构建了一个参数化字符串,
'The Query
cmd.CommandText = "insert into table (aid) values ('@aid')"
cmd.Connection = conn
'Grab the value
cmd.Parameters.add("@aid", SqlDBType.Int).value = txtID.text
'Execute!
cmd.Connection.Open()
cmd.ExecuteNonQuery
但是,它不允许我这样做。它不断给出以下错误消息:
Conversion failed when converting the varchar value '@aid' to data type int.
所以我尝试了很多方法:
cmd.Parameters.add("@aid", SqlDBType.Int).value = 999999999
cmd.Parameters.add("@aid", SqlDBType.Int).value = Convert.ToInt16(txtID.text)
cmd.Parameters.add("@aid", SqlDBType.Int).value = Convert.ToInt32(txtID.text)
cmd.Parameters.add("@aid", SqlDBType.Int).value = Convert.ToInt64(txtID.text)
没有任何作用。在数据库内部,类型是“int”。
有什么想法吗?
【问题讨论】:
标签: vb.net sql-server-2005 asp.net-2.0