У меня есть форма 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".
Есть идеи?