textbox
のgridview
を動的に生成したデータをデータベースに挿入しようとしています。しかし、私はCommandText
プロパティの例外はあなたがStringBuilder
にあなたのクエリの最初の部分をロードしていない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);
}
}
を()を使用して、あなたに異なるアプローチを提案することを好みますか? – Baahubali
1)StringBuilderにsqlStatementを追加していません 2)項目に項目がない場合は、データベースに挿入しません。 3)パラメータ化されたクエリを使用してください。それはより安全です。あなたの現在の方法は、SQLインジェクションに対して広く開いています。 – john
私は何をしようとしているのは、動的なテキストボックスのonClickイベントを作成し、データベースにデータを保存することです。どのようにパラメータ化されたクエリを使用するのですか?私はこの例を使用しています。http://www.c-sharpcorner.com/uploadfile/8c19e8/dynamically-adding-and-deleting-rows-in-gridview-and-saving/ –