VB 2008与多个表单上的Ms Access连接

时间:2011-08-06 07:29:43

标签: vb.net ms-access

我有一个VB解决方案,有十几个表单试图实现发票系统。

我的主要表单(Say Form1)只有一个设计来创建,编辑或删除客户。 如果单击“创建”按钮,将打开我的表单2。在我的表单2中,我有文本框,用户可以在其中输入客户详细信息并单击“保存”。我怀疑在这里......

在表单2中单击此SAVE按钮时,我希望在名为Customer的MSAccess数据库表上发生INSERT命令(我已经创建了...此表目前没有任何记录)。

在我的表单1中,我添加了一个带连接字符串的MSAccess数据库。在我的Form1的代码中,我有这样的代码

Public Class Form1

      'Code specific to Form1's elements

End Class

Public Class Connection
    Private Shared connection As OleDb.OleDbConnection

    Public Shared ReadOnly Property Instance() As OleDb.OleDbConnection
        Get
            If connection Is Nothing Then
                connection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Invoice.mdb")
            End If
            Return connection
        End Get
    End Property
End Class

在我的表单2中,我有一些像这样的代码...当点击SAVE时

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim myConnection As OleDb.OleDbConnection
        myConnection = Connection.Instance

    End Sub

我从这个链接获得了这段代码[1]:vb.net - sharing mdb access connection among multiple forms

现在,我不知道在将文本框中的记录插入到Customer表的字段中需要多少代码。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

一旦建立连接,就可以正常插入Access表。您没有指定是通过SQL字符串还是通过存储过程进行插入。为简单起见,我的示例使用前者,但是我强烈建议参数化查询(如果您正在执行SQL字符串)或存储过程以防止SQL注入攻击。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Try

        Dim myConnection As OleDb.OleDbConnection = Connection.Instance

        myConnection.Open()

        Dim sqlString As String = "" ' Put your insert SQL here
        Dim myCommand As New OleDbCommand(sqlString, myConnection)

        Dim rows As Integer = myCommand.ExecuteNonQuery
    Catch ex As Exception
        // Handle any errors here
    Finally
        myConnection.Close()
    End Try

End Sub