2014-11-24 56 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是一個文本框,所以您必須將字符串轉換爲十進制數,然後才能使用。