2013-05-18 2 views
0

에 나는 vb에서 윈도우 응용 프로그램을 개발하고있다. datatable는 단지 one rowDTABdatatable 도입되어 처음 채우고 상기 코드에서 추가] 데이터 테이블은 VB

If hscode <> "" Then 
      da1 = New OleDbDataAdapter("select * from [" & tablename & "] where [ItemNo] like '" & hscode & "%'", myConnection) 
      da1.Fill(dt2) 
      dtab = dt2.Clone 

      dtab.Merge(dt2, True) 


      Dim l As Integer 
      l = 0 
      For l = 0 To dt2.Rows.Count - 1 
       dtab = dt2.Clone 
       dtab.ImportRow(dt2.Rows(l)) 
      Next 
      dt2.Clear() 

     End If 

. 그리고 두 번째로 그것은 error을 던지고있다. 방법 concatenatedatatable에 아무도 말해 주시겠습니까. 사실은 내가 어떤 queries에 따라 하나 gridview에서 여러 데이터베이스 값을 보여주고 싶어요.

+0

왜 assgin하는 DTAB = dt2.clone – Sathish

답변

0

나는 코드의 나머지 부분을 볼 수 있지만, 지금처럼, (dt2) 데이터 테이블을 작성 다른 테이블 (dtab)의 구조를 복제 한 후 dt2 행과 수입을 통해 반복하는 것은 의미가 없다 dtab에서 이러한 행.
당신은 단순히 당신이 다른 이유로 DT2에서 DTAB 분리가 필요하다고 가정하고, 그러나 DTAB

를 채울 수, 나는 당신이 DataTable에

If hscode <> "" Then 
    da1 = New OleDbDataAdapter("select * from [" & tablename & "] where [ItemNo] like '" & hscode & "%'", myConnection) 
    da1.Fill(dt2) 
    dtab = dt2.Copy() 
    dt2.Clear() 
End If 
Copy 방법을 사용하는 경우는 실질적으로 모든 코드를 제거 할 수 있다고 생각

또한, 나는 당신이이 문제 위스콘신 피할이

.... 
Dim queryText = "select * from [" & tablename & "] where [ItemNo] like ?" 
da1 = New OleDbDataAdapter(queryText, myConnection) 
da1.SelectCommand.Parameters.AddWithValue("@p1", hscode & "%") 
.... 

같은 매개 변수화 된 쿼리를 문자열 연결을 방지하고 사용하도록 원래 쿼리를 변경해야한다고도 생각 th SQL 주입 및 hscode 값 구문 분석. 각 루프 실행에

관련 문제