【发布时间】:2023-03-25 04:31:01
【问题描述】:
我正在尝试在 VB.net windows 应用程序中插入、更新网格上的数据,该应用程序必须更新数据库中的数据。我无法使用新架构名称(客户)来实现此功能,但是当我尝试使用架构“dbo”创建表时,我能够插入、更新网格上的数据并能够在 SQL Server 中查看数据。
请帮助我在执行插入和更新选项时需要更改哪些代码。
代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim test1 As String
test1 = "Select * from Customer.CustomerID"
connection = New OleDbConnection
connection.ConnectionString = "Provider=MSOLEDBSQL.1;Integrated Security=SSPI;Initial Catalog=prod;Data Source=IN-TESTVM;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=IN-TESTVM;Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;Application Intent=READWRITE;MultisubnetFailover=False;Use FMTONLY=False;"
connection.Open()
myDA = New OleDbDataAdapter(test1, connection)
dsDataGrid = New DataSet
myDA.Fill(dsDataGrid)
grid.DataSource = dsDataGrid.Tables(0)
bindsrc2.DataSource = dsDataGrid
connection.Close()
End Sub
按钮点击事件代码如下
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
app = New OleDbCommandBuilder(myDA)
bindsrc2.EndEdit()
myDA.Update(bindsrc2.DataSource) 'Hitting the error while updating the data at this line
End Sub
我也可以使用 dbo 以外的模式名称将数据加载到网格中。
myDA.Fill(dsDataGrid)
grid.DataSource = dsDataGrid.Tables(0)
bindsrc2.DataSource = dsDataGrid
点击保存按钮后的错误信息
【问题讨论】:
-
除非您要连接到所有需要 OLE DB 的各种数据源,否则您真的应该使用
SqlClient连接到 SQL Server。它连接到较低级别的 SQL Server,因此效率更高。
标签: sql-server vb.net oledb oledbdataadapter