2013-03-06 101 views
0

我有一個問題。我想從數據表傳輸數據到sql.Transfer從Web服務接收到的數據到datatable.I'm做循環這個操作。我不想這樣做循環操作。我該怎麼做?我的代碼;插入SQL從Datatable

DataTable gelendata = new DataTable(); 

private void cari_aktar() 
{ 
    SqlCeConnection dataset_baglanti = conn.baglan(); 

    ARMINE_SHOP.WebReference.bulten terminal = new ARMINE_SHOP.WebReference.bulten(); 

    gelendata = terminal.CARILER_MAGAZACILIK("armine_webservice", "pass***", "MikroDB_V14_ARMINE").Tables[0]; 

    foreach (datarow row in gelendata.rows) 
    { 
     k = k + 1; 
     progressbar1.value = k; 

     if (row["cari_kod"] == dbnull.value) 
     { 
      cari_kod = ""; 
     } 
     else 
     { 
      cari_kod = (string)row["cari_kod"]; 
     } 
     sqlcecommand cari_ekle = new sqlcecommand("ınsert ınto carı_hesaplar (cari_kod) values (@cari_kod)", dataset_baglanti); 
     cari_ekle.parameters.clear(); 
     cari_ekle.ExecuteNonQuery(); 
    } 

我已經試過代碼

SqlCeDataAdapter da = new SqlCeDataAdapter(); 

da.InsertCommand =new SqlCeCommand("INSERT INTO CARI_HESAPLAR (cari_kod) VALUES (@cari_kod)", dataset_baglanti); 

da.InsertCommand.Parameters.Add("@cari_kod", SqlDbType.NVarChar, 50, "cari_kod"); 

da.Update(terminal.CARILER_MAGAZACILIK("armine_webservice","pass***", "MikroDB_V14_ARMINE")); 

等待您的幫助...

感謝ü....

+0

有一個看看這個: http://stackoverflow.com/questions/5961535/bulk-insert-from-datatable-to-sqlce-datasource – jordanhill123 2013-03-06 10:41:12

回答

0

我不知道,如果你可以使用這個在SqlCe中,但在MsSqlConnection中可以這樣使用

SqlCommandBuilder cmdb = (SqlCommandBuilder)this.CreateCommandBuilder(); 
cmdb.DataAdapter = (SqlDataAdapter)this.CreateDataAdapter(SQL, connection); 
cmdb.RefreshSchema(); 
SqlDataAdapter dta = cmdb.DataAdapter; 
dta.InsertCommand = cmdb.GetInsertCommand(true); 
dta.UpdateCommand = cmdb.GetUpdateCommand(true); 
dta.DeleteCommand = cmdb.GetDeleteCommand(true); 
dta.Update(dataTable); 

這從我自己的框架複製,易於理解:

  • CreateCommandBuilder是CommandBuilder的Instancer
  • CreateDataAdapter是DataAdapter的Instancer其中SQL爲 'SELECT * FROM表名WHERE?'
  • GetInsertCommand是一個INSERT命令
+0

我嘗試過,但沒有。我需要加快數據傳輸速度..等待你的幫助.... – UgurGul 2013-03-06 11:09:54