0
데이터가 데이터베이스에 삽입되지 않은 이유를 찾을 수 없습니다. 나는 SQL 서버를 사용한다. DB는 3 필드입니다. 1) id (int) 2) test1 (varchar (50)) 3) test2 (varchar (50))입니다. 난 텍스트 상자와 날짜에서 데이터를 삽입하려고합니다.데이터를 삽입 할 수 없습니다.
private void SaveToDB()
{
string strSql = "";
string[] tos = txtTo.Text.Split(';');
for (int i = 0; i < tos.Length; i++)
{
strSql += "INSERT INTO test (test1, test2) VALUES ('" + txtContent.Text.Trim() + "','" + DateTime.Now.ToString() + "');";
}
using (SqlConnection connection = new SqlConnection(Common.ConnetionString))
{
connection.Open();
SqlTransaction tran = connection.BeginTransaction();
try
{
SqlCommand cmd = new SqlCommand(strSql, connection, tran);
cmd.ExecuteNonQuery();
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
}
finally
{
connection.Close();
Response.Redirect("messagelist.aspx?flag=2");
}
}
}
하지만 코드, 루프
이 코드는 [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection)에 익숙합니다. 대신 [Entity Framework] (http://msdn.microsoft.com/en-us/data/ef.aspx)와 같은 ORM을 사용하는 것이 좋으며 문제 해결에 도움이 될 수 있습니다. –
특정 문제를 해결하기 위해 모든 변수가 대체 된 후 실제 SQL을 데이터베이스에 게시 할 수 있습니까? –
또한 예외가 발생했다고 생각합니다. 자신이하는 것처럼 예외를 포착하고 삼키는 것은 정말 나쁜 습관입니다. 'tran.Rollback(); 후에'throw;'를 호출하십시오. 그것은 그 문제를 드러 낼 수 있습니다. –