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/ –