我試圖從動態生成的textbox
的gridview
數據庫中插入數據。但是,我越來越CommandText
財產除外尚未初始化cmd.executeNonQuery();
ExecuteNonQuery:CommandText屬性尚未在c#中初始化
private void InsertRecords(StringCollection sc)
{
StringBuilder sb = new StringBuilder(string.Empty);
string[] splitItems = null;
const string sqlStatement = "INSERT INTO Ingredients_List (Ingredients1) VALUES";
foreach (string item in sc)
{
if (item.Contains(","))
{
splitItems = item.Split(",".ToCharArray());
sb.AppendFormat("{0}('{1}'); ", sqlStatement, splitItems[0]);
}
}
// conn.Open();
using (SqlConnection connn = new SqlConnection(GetConnectionString()))
{
using (SqlCommand cmd = new SqlCommand(sb.ToString(), connn))
{
connn.Open();
// cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
connn.Close();
}
// Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Script", "alert('Records Successfuly Saved!');", true);
}
}
什麼sb.tostring()建議你採用不同的方法? – Baahubali
1)你不是將sqlStatement追加到StringBuilder中 2)除非項目中有一個,否則不會將其插入到數據庫中。 3)請使用參數化查詢。這更安全。您當前的方法對SQL注入敞開大門。 – john
我想要做的是創建動態文本框onClick事件,然後將數據保存到數據庫。那麼如何使用參數化查詢呢?我正在使用這個例子http://www.c-sharpcorner.com/uploadfile/8c19e8/dynamically-adding-and-deleting-rows-in-gridview-and-saving/ –