2014-09-28 1 views

답변

4

먼저 VALUES 부분에 두 개의 값이 있습니다. 하나는 textBoxTitle.Text이고 다른 하나는 ''입니다. 그러나 단 하나의 열만 제공했습니다.

사실 인 경우 쿼리에서 '' 부분을 삭제해야합니다. 그러나 더 중요한 것은 항상parameterized queries을 사용해야합니다. 이러한 종류의 문자열 연결은 SQL Injection 공격에 대해 열려 있습니다.

작은 따옴표에 문제가있는 매개 변수가있는 쿼리와 문은 각각 작은 따옴표를 사용하십시오. How do I escape a single quote in SQL Server?

  • 또한 데이터베이스 연결 및 명령을 처리하는 using statement를 사용합니다.

    using(SqlConnection con = new SqlConnection(connString)) 
    using(SqlCommand cmd = con.CreateCommand()) 
    { 
        cmd.CommandText = "INSERT INTO Book(Title) VALUES (@title)"; 
        cmd.Parameters.AddWithValue("@title", textBoxTitle.Text); 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
    } 
    
관련 문제