2011-05-02 2 views
0

내가는 SQL Server 테이블에 몇 가지 정보를 삽입하려고하지만, 대신에 하나 개의 레코드를 삽입하는 그것은 여러 레코드 삽입 :이유는 무엇입니까이 코드 삽입 여러 레코드 하나가 아닌

string fileName1 = "imgs/" + FileUpload1.PostedFile.FileName; 
    string fileName2 = "imgs/" + FileUpload2.PostedFile.FileName; 
    string fileName3 = "imgs/" + FileUpload3.PostedFile.FileName; 
    string fileName4 = "imgs/" + FileUpload4.PostedFile.FileName; 

    System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(@"Data Source=AHMED-PC\SQLEXPRESS;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=123456"); 
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("INSERT INTO img (img) VALUES (@img)", conn); 
    conn.Open(); 

    cmd.Parameters.AddWithValue("@img", fileName1); 
    cmd.ExecuteNonQuery(); 
    cmd.Parameters.Clear(); 

    cmd.Parameters.AddWithValue("@img", fileName2); 
    cmd.ExecuteNonQuery(); 
    cmd.Parameters.Clear(); 

    cmd.Parameters.AddWithValue("@img", fileName3); 
    cmd.ExecuteNonQuery(); 
    cmd.Parameters.Clear(); 

    cmd.Parameters.AddWithValue("@img", fileName4); 
    cmd.ExecuteNonQuery(); 
    cmd.Parameters.Clear(); 

    conn.Close(); 

가 8 개 이상의 레코드를 추가를 대신 4

이 asp.net 4 개

감사

+2

당신은 그것을 실행하고 있습니다 –

+0

@ CD 난 분명히 4 번 8 번 대신 죄송합니다 – Wahtever

+1

전체 코드를 게시하시기 바랍니다. 나는이 방법이 2 번 불리는 것을 의심한다. –

답변

4

아마 두 번 함수를 호출 할 것입니다.

+0

동의. 이 메서드의 맨 위에 중단 점을 추가하고 한 번만 호출되도록하십시오. 그것이 있고 여전히 8 개 이상의 인서트가 있다면, 저희에게 알려주십시오 (정확한 인서트 수를주십시오). – IAmTimCorey

1

를 사용하는이 문을 실행하고 네번.

cmd.ExecuteNonQuery(); 

cmd는 하나의 SQL INSERT 문을 나타냅니다.

cmd = new System.Data.SqlClient.SqlCommand("INSERT INTO img (img) VALUES (@img)", conn); 

제약 조건을 위반하지 않는 한 하나의 INSERT를 4 회 실행하고 4 개의 행을 얻지 않는 한.

+0

다시 내 실수는 명확히하지 않았다. 8 회 이상 실행하는 대신 4 회 실행 함을 의미 함 – Wahtever

관련 문제