Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataTable to DataBase 
:(
    Опции темы
cupper
Дата 7.8.2010, 18:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



В начале через сериализацию из Xml восстанавливаю таблицу в DataTable, затем эту таблицу нужно слить в БД (т.е. провести restore database). Так вот как правильно сливать данные из DataTable в DataBase ?


Это сообщение отредактировал(а) cupper - 9.8.2010, 08:28
PM MAIL   Вверх
Springtime
Дата 9.8.2010, 09:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: нет
Всего: 2



Код

Dim objDT As System.Data.DataTable
Dim objDR As System.Data.DataRow

Private
Sub Page_Load(s As Object, e As EventArgs)
objDT = Session(
"Cart")
dg.DataSource = objDT
dg.DataBind()
End
Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim nwind As New SqlConnection("connection info")
Dim custsInsCmd As SqlClient.SqlCommand
Dim custRow As DataRow
Dim sql As String
custsInsCmd = nwind.CreateCommand()
For Each custRow In objDT.Rows
sql = "INSERT INTO rma_items (part, rma_id) VALUES ('" & custRow("Product") & "', '1')"
custsInsCmd.CommandText = sql
custsInsCmd.ExecuteNonQuery()
nwind.Close()
Next
End Sub


--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
A5uKa
Дата 9.8.2010, 11:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Если не ошибаюсь, то можно через адаптер ...
Код

    def dataSet = DataSet();
    using (connection = SqlConnection("..."))
    {
        connection.Open();
        def adapter = SqlDataAdapter(SqlCommand(" Select... " , connection));
        _=adapter.Fill(dataSet);
        adapter.UpdateCommand = SqlCommandBuilder(adapter).GetUpdateCommand();
        adapter.Update(dataSet);
    }

PM   Вверх
cupper
Дата 9.8.2010, 12:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



Цитата(A5uKa @ 9.8.2010,  11:22)
Если не ошибаюсь, то можно через адаптер ...
Код

    def dataSet = DataSet();
    using (connection = SqlConnection("..."))
    {
        connection.Open();
        def adapter = SqlDataAdapter(SqlCommand(" Select... " , connection));
        _=adapter.Fill(dataSet);
        adapter.UpdateCommand = SqlCommandBuilder(adapter).GetUpdateCommand();
        adapter.Update(dataSet);
    }

а в чем отличие адаптера от построчного копирование DataTable в БД ?? ведь в адаптере также нужно прописить команду INSERT  c параметрами ? по сути она наверно тоже самое выполняет.

Пока остановился на варианте восстановление БД из DataTable:
1) Чистим всю таблицу в БД через DELETE
2) построчно для DataTable делаем Insert...
PM MAIL   Вверх
A5uKa
Дата 9.8.2010, 12:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 3
Всего: 16



Разве что оно само строит Update или Insert комманды ...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.