2012-12-19 4 views
0

나는 다양한 데이터를 관리 할 수있는 응용 프로그램을 만들고 있습니다. 이 응용 프로그램은 네트워크에서 작동하도록 설계되었으므로 다중 사용자 환경에서 작동합니다. 이런 이유로 나는 Datatable을 신뢰하기로 결정했습니다.VB.NET Datatable to MySQL

MySQL 데이터베이스 작업 관리를 위해 저에게 생성 된 클래스가 있지만 지금은 MySQL 데이터베이스로 데이터 테이블을 전송하는 간소화 된 프로세스를 만들 수 없습니다. 현재 나는 그렇게

Dim SQLStm As String 
    'variable for sql query 
    Dim SQLManager As New ER.DB.ERMysql 

    For Each Riga In Datatable.Rows 
     'example query 
     SQLStm = "INSERT INTO test(Name,Phone)VALUES(Riga("Name"),Riga("Phone"))" 
     Try 
      Dim CMD As New MySqlCommand 
      CMD.Connection = connection 
      CMD.CommandText = SQLStm 
      CMD.ExecuteNonQuery() 
     Catch ex As Exception 
     End Try 
    Next 


End Sub 

AM 또는 모든 행을 훑어 점차적으로 데이터베이스에 전송. 이 작업을 수행하는 더 좋은 방법이 있습니까?

감사합니다.

+1

컴파일도됩니까? –

+0

이것은 단지 하나의 예이며 쿼리가 설명이므로 컴파일 할 수 없습니다. 어쨌든 원래의 쿼리와 함께 작동합니다! –

+0

'SqlDataAdapter'와'SqlCommandBuilder'를 사용하여 데이터베이스를 업데이트 할 수 있습니다. 그리고'DataAdapter'가 가능하지 않은 경우 삽입/갱신을 수행하기위한'Parameterized SQL' 문을 생성하십시오. – adatapost

답변

0

나는 XML을 통해이 작업을 수행하는 가장 좋은 방법이라고 할 수 있습니다. 데이터 테이블을 XML 형식으로 변환하고 XML을 수락하는 프로 시저로 전달합니다. 이렇게하면 프로세스가 데이터 테이블 내의 모든 행마다 한 번씩 실행되지 않으며 한 번에 모두 완료됩니다. 현재 수행중인 방식은 대규모 데이터 세트의 경우 확장이되지 않지만 XML은 훨씬 확장됩니다.

0

대신 각 행에 대해 db 삽입을 수행하고 전체 쿼리 문자열을 먼저 작성한 다음 하나의 큰 INSERT 명령으로 수행하십시오. 훨씬 빠릅니다.