2014-11-24 59 views
-3

我从Stackoverflow获得了此代码以在表中插入数据。 但我不知道它实际上在做什么可以有人请解释我这个,什么cmd.Parameters.add方法呢? 2:为什么需要数据转换? 3:什么是@BSal在这里?带有参数的sql cmd命令

cmd.Parameters.Add("@BSal", SqlDbType.Decimal).Value = Convert.ToDecimal(txtBSal.Text); 
        cmd.Connection = Connection.con; 
        cmd.ExecuteNonQuery(); 
+0

大声笑,如果你从'SO'得到代码,那么为什么不直接通过代码,看看自己在做什么......如果你不熟悉SQL命令参数,那么MSDN是一个很好的开始..来吧现在显示一些更多的努力 – MethodMan 2014-11-24 17:27:51

+1

http://msdn.microsoft.com/en-us/library/System.Data.SqlClient.SqlParameterCollection.Add(v=vs.110).aspx简单的搜索将带你到这里。 – 2014-11-24 17:27:52

+0

这是[参数化](http://msdn.microsoft.com/zh-cn/library/vstudio/bb738521%28v=vs.100%29.aspx)查询。它们有助于使它们可重用,因此您可以使用不同的要求执行相同的查询。例如,如果我有一个拥有1,000人的数据库,那么当我写一个查询并更改所需的名称时,我不应该写出具有不同名称的1,000个查询。 – AdamMc331 2014-11-24 17:27:59

回答

1

@BSal是存储过程或SQL语句中SQL参数的名称。

cmd.Parameters.Add填充SQL参数的值。由于参数的类型为SqlDbType.Decimal,并且当前txtBSal是一个文本框,所以您必须将字符串转换为十进制数,然后才能使用。