[英]Insert Double In Sql Server
我正在使用SQL Server 2008和C#。 我正在声明一个double
类型的变量,我想将它插入我的数据库中。 我有这个错误:
数据类型转换错误varchar为numeric。
我如何使用C#在SQL Server中插入double类型的值?
这是代码:
double variable = 13.2;
con.Open();
cmd=con.CreateCommand();
cmd.CommandText = "insert into etudient (IDetudient, [nom etudient], value) values('" + Convert.ToInt16( text_id.Text) + "' , '" + text_name.Text + "','" + variable + "')";
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("success");
删除变量前后的变量......
如果你把变量放在'之间,你说它是文本,那就是错误说它无法将varchar转换为数字的原因。
因为, 变量是double
类型而不是字符串,所以你应该以这种格式插入变量 :
" + variable + "
而不是'" + variable + "'
此外,您的Insert
查询如下所示:
cmd.CommandText = "insert into etudient (IDetudient, [nom etudient], value)
values('" + Convert.ToInt16( text_id.Text) + "' , '" + text_name.Text + "'," + variable + " )";
事实上,建议使用参数化查询,因为它可以防止SQL注入攻击 。
using (var con = new SqlConnection(connectionString))
{
con.Open();
using (var cmd = new SqlCommand(
@"INSERT INTO etudient (IDetudient, [nom etudient], value)
VALUES (@ID, @Name, @Variable)", con))
{
cmd.Parameters.AddWithValue("@ID", text_id.Text);
cmd.Parameters.AddWithValue("@Name", text_name.Text);
cmd.Parameters.AddWithValue("@Variable", variable);
cmd.ExecuteNonQuery();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.