dataset

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

dataset

Сообщение Dmitriy Solomnikov » 05.05.2005 (Чт) 13:00

как через oleDb добавить новую строчку в БД:
У меня есть след. код:

sql = "SELECT * FROM vuzSpisok"
da = New OleDb.OleDbDataAdapter(sql, cn)
da.Fill(ds)

Dim insertData(5) As Object
//заполняем массив

Dim dr As DataRow
dr = ds.Tables(0).NewRow
dr.ItemArray() = insertData
ds.Tables(0).Rows.Add(dr)
ds.AcceptChanges()

При выполнении исключений не генерится, но ничего не происходит.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.05.2005 (Чт) 14:30

Тебе же в бд надо сохранить а не в Dataset!))))))

Поиск по commandbuilder
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 05.05.2005 (Чт) 14:39

когда вызываю da.update(ds) тоже ничего не происходит

commandbuilder - ща гляну

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 04.08.2005 (Чт) 18:33

Есть код:
Код: Выделить всё
        Dim cn As New OleDbConnection
        cn.ConnectionString = cnStr
        cn.Open()

        Dim cmd As New OleDbCommand
        cmd.Connection = cn
        cmd.CommandText = "SELECT * FROM Table00"
        Dim da As New OleDbDataAdapter(cmd)

        Dim CB As OleDbCommandBuilder = New OleDbCommandBuilder(da)
        CB.QuotePrefix = "["
        CB.QuoteSuffix = "]"

        Dim ds As New DataSet

        da.Fill(ds)
        ds.Tables(0).Rows(4).Item(6) = "---"
        da.Update(ds)


работает безупречно.
Как только меняю эту строчку
Код: Выделить всё
cmd.CommandText = "SELECT * FROM Table00"
ds.Tables(0).Rows(4).Item(6) = "---"



вот на такую
Код: Выделить всё
cmd.CommandText = "SELECT field05 FROM Table00"
ds.Tables(0).Rows(4).Item(0) = "---"


то при вызове метода
Код: Выделить всё
da.Update(ds)


генерится вот такое исключение:

System.InvalidOperationException: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 04.08.2005 (Чт) 19:06

все вопрос снят

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 04.08.2005 (Чт) 20:04

А как можно отфильтровать содержимое dataset.Tables(i) ?

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 04.08.2005 (Чт) 23:33

вопрос тоже снят

прошу прощение за панику

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 11.08.2005 (Чт) 20:21

Есть таблица. В ней 5 столбцов. Первый счетчик явл ключом. Добавляю новуйю строку через dataSet.

Как узнать значение ключа новой строки?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 12.08.2005 (Пт) 7:47

Таким способом Никак((( Только последующим запросом.
Ведь атаптер генерит скул команду Update И всё.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList