Vb.net 2008 Datagrid <=> Sqlite3

  • Автор темы nadalik
  • Дата начала
N

nadalik

Гость
#1
Привет всем!

делаю проект для себя что бы разобраться как это все работает.
К VB.NET 2008 прикручен Sqlite (вот отсюда - sqlite_phxsoftware_com)

Надо - отредактировать таблицу и записать изменения обратно.
(ну не надо смеяться...)

Чтение и редактирование - работает, организовано вот так:
---

Dim SQLconnect As New System.Data.SQLite.SQLiteConnection
Dim dataSet = New DataSet()

SQLconnect.ConnectionString = "Data Source=" & Database_path & ";"
SQLconnect.Open()

Dim dataAdapter = New SQLiteDataAdapter("select * from " & SQliteTable, SQLconnect)

dataAdapter.Fill(dataSet, SQliteTable)

DataGridView.DataSource = dataSet
DataGridView.DataMember = SQliteTable
---

после редактирования надо записать изменения в таблицу.
вот тут и затык.

---

Dim SQLconnect As New System.Data.SQLite.SQLiteConnection
Dim dataSet = New DataSet()

SQLconnect.ConnectionString = "Data Source=" & Database_path & ";"
SQLconnect.Open()

dataSet = DataGridView.DataSource
Dim dataAdapter = New SQLiteDataAdapter("select * from " & SQliteTable, SQLconnect)
'' надо ли опять создавать dataAdapter? ''

dataAdapter.Update(dataSet, SQliteTable)
' тут ошибка выполнения
' Update requires a valid UpdateCommand
' when passed DataRow collection with modified rows.

SQLconnect.Dispose()



- не ясно должен ли dataAdapter быть глобальным?;
- так ли вообще это надо делать все - или же руками делать insert,update,delete
все записи DataGrid?;

Похожие примеры "гуглил" целый день - ничего именно такого не надыбал..
Вроде ясно что надо из DataGridView передать в dataSet и потом в dataAdapter.

Буду благодарен за любую помощь касательно этой проблемы.
 
N

nadalik

Гость
#2
Да, датасет нет.
Это по большому счету вредно.
ну тоесть в сабе записи опять -
Dim dataAdapter = New SQLiteDataAdapter("select * from " & SQliteTable, SQLconnect)

как я понимаю, если объявлен объект внутри саба, то он за границей видимости
при выходе из саба как локальный?

а новый датасет или нет - всеравно
dataSet = DataGridView.DataSource

что-то с параметрами dataAdapter.Update(dataSet, SQliteTable)
что за UpdateCommand - она как то описывается?