#2
厨师王德榜2023-06-25 15:49
|
编程环境:
在一个窗体有一个文本框,该文本框绑定一个sqlite数据表中的一个字段。
部分代码如下:
建立一个内存数据库
SQLconn_mem.ConnectionString = "Data Source=:memory:;Version=3;New=true" '链接内存数据库
添加一个表gcxx,并加入到数据集mainds中。
dim mainds As New System.Data.DataSet()
dim salda_gcxx As New System.Data.SQLite.SQLiteDataAdapter
salda_gcxx = New SQLiteDataAdapter("select * from gcxx", SQLconn_mem)
salda_gcxx.MissingSchemaAction = MissingSchemaAction.AddWithKey
salda_gcxx.Fill(mainds, "gcxx")
’添加一行内容
Dim gcxx_row As DataRow = mainds.Tables("gcxx").NewRow()
gcxx_row.Item("gcmc") = "项目"
mainds.Tables("gcxx").Rows.Add(gcxx_row)
‘绑定到一个字段
workspace.gcmc.DataBindings.Add("Text", mainds, "gcxx.gcmc").WriteValue()
‘修改文本框gcmc.text="aaaaaaaaaaa"
’发现 mainds.Tables("gcxx").Rows(0).item("gcmc")="aaaaaaaaaaa"
'通过数据适配器更新到库中,
Dim cmdBuildergcxx As New System.Data.SQLite.SQLiteCommandBuilder(salda_gcxx)
salda_gcxx.Update(mainds, "gcxx")
mainds.Tables("gcxx").AcceptChanges()
发现mainds.Tables("gcxx").Rows(0).item("gcmc")的值还是"aaaaaaaaaaa"
运行到这里没有问题。
'把内存数据表复制到硬盘中。
Dim SQLconn_db1 As New System.Data.SQLite.SQLiteConnection("Data Source=F:\3.db")
SQLconn_db1.Open()
SQLconn_mem.BackupDatabase(SQLconn_db1, "main", "main", -1, Nothing, 0)
SQLconn_db1.Close()
查看f:\3.db,发现数据表gcxx的字段gcmc的值还是原来的值"项目",而不是"aaaaaaaaaaa"
这是怎么回事啊?