2013-03-06 6 views
0

У меня есть вопросы. Я хочу передать данные из datatable в sql.Transferring данных, полученных от веб-службы, в datatable.Im делает эту операцию с loop.I не хочу это делать работа с петлей. Как я это делаю? мои коды;Вставить SQL From 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

ответ

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 является ВСТАВИТЬ Command
+0

I но это не так. Мне нужно ускорить передачу данных ... .nnk u.Waiting для вашей помощи .... – UgurGul

Смежные вопросы