2013-02-14 2 views
0
foreach (ListViewItem l in lvSA.Items) 
{ 
     SqlConnection con = new SqlConnection("data source = .; database = ePartyDatabase; integrated security = true"); 
     con.Open(); 

     SqlCommand cmd = new SqlCommand("insert into PARTY_ROOMS(PR_ROOMNO,PR_RATES,PR_REMARK) values(" + l.SubItems[1].ToString() + "," + l.SubItems[3].ToString() + l.SubItems[4].ToString(), con); 

     cmd.ExecuteNonQuery(); 

     con.Close(); 
} 
+2

그리고 귀하의 질문은 무엇입니까? http://tinyurl.com/so-list를 읽고 (그리고 매개 변수화 된 SQL을 사용하십시오 - 현재 코드는 SQL 인젝션 공격에 취약합니다) –

+2

당신은'', "" –

+2

을 놓쳤습니다 ** 당신의 질문은 무엇입니까? ** 어떤 라인이 던졌습니다 예외 또는 오류? 더 구체적으로 .. –

답변

1

로 목록보기에서 데이터를 삽입 할 수 없습니다 :

SqlCommand cmd = new SqlCommand("insert into PARTY_ROOMS(PR_ROOMNO,PR_RATES,PR_REMARK) values('" + l.SubItems[1].Text + "','" + l.SubItems[3].Text + "','" + l.SubItems[4].Text + "')", con); 

?

+0

내가 "ListViewSubItem : {104} '근처의 구문이 잘못되었습니다. –

+0

죄송합니다, 그래 그것이 작동 .... –

+0

안드레이는 내가 lisview- –

0

몇 가지 정보를 제공해 주셨으므로 SqlCommand에 문제가 있다고 가정합니다.

3 열 (PR_ROOMNO, PR_RATES, PR_REMARK)을 삽입하려고했지만 VALUES 부분에 2 개의 값이 있습니다.

  • l.SubItems[1].ToString()
  • l.SubItems[3].ToString() + l.SubItems[4].ToString()

나는 당신이 두 값에 같은 두 번째 값을 분리해서 할 필요가 있다고 생각; 당신이 INSERT에서 MSDN을 사용하는 방법을

values('" + l.SubItems[1].ToString() + "','" + l.SubItems[3].ToString() + "','" + l.SubItems[4].ToString() + "')", con); 

체크 아웃.

기억하고 항상 parameterized SQL 개의 검색어를 사용하십시오. 귀하의 코드는 SQL Injection 공격에 대해 열려 있습니다.

+0

답장 보내 주셔서 감사하지만 출력 있어요. –