我有一个使用.Net驱动程序连接到Mysql的winforms应用程序。我编写了一个类来处理所有数据库功能。我使用dataTable来存储从mysql绑定的查询结果。
Imports MySql.Data.MySqlClient
Imports System.IO
Public Class MysqlConSjC
Private conn As MySqlConnection
Private connStr As String
Public strace As String
Private status As Integer
'status member variable for connectivity. 0 for success,
'value of one indicates db connection error
'value of 2 indicates query failure
Private comd As MySqlCommand
Private adpter As MySqlDataAdapter
Private dta As DataTable
Public Sub Query(ByVal SQl As String)
Try
comd.Connection = conn
comd.CommandText = SQl
adpter.SelectCommand = comd
adpter.Fill(dta)
status = 0
Catch ex As MySqlException
strace = ex.StackTrace()
DisconnectMysql()
status = 2
End Try
End Sub
此方法执行选择查询。我如何编写一个方法来插入/更新/删除数据库中的DataTable行?
答案 0 :(得分:0)
如果提供程序能够为给定命令创建更新语句(UPDATE,INSERT,DELETE),那么我相信您可以在对DataTable进行更新后简单地在数据适配器上调用Update
方法。
adapter.Update(dta)
DataTable对象跟踪对自身所做的更改。然后,数据适配器对象使用该信息来确定要运行的SQL语句(UPDATE,INSERT,DELETE)。
答案 1 :(得分:0)
最明智的事情。我切换到绑定源控件并使用tableAdapters进行更新。像我这样的类可以在不需要datagridviews的地方工作