Visual Studio应用程序的数据库访问问题

时间:2014-03-28 12:21:47

标签: visual-studio-2013 oledb

我已经创建了一个与MS Access 2010(.accdb)扩展一起使用的程序。该计划完全正常。

  

问题是:

当程序安装到没有安装MS Office的另一台PC上时,程序中定义的异常会返回连接错误。是的,当然是因为程序无法在没有安装办公室的情况下读取(.accdb)文件。

  

需要解决方案:

有没有办法导入此(.accdb)以便读取和修改它。或者,当应用程序安装到任何非办公室安装的PC时,还有其他简单的解决方案吗?

  

我的程序代码演示是:

连接字符串:

Imports SpeechLib
Imports System.IO

Module MdlIPray5ve
    Public con As OleDb.OleDbConnection
    Public cmd As OleDb.OleDbCommand
    Public sql As String
    Public speaker As New SpVoice
    Public Function connection() As String
        Try
            connection = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=azan_time.accdb; Persist Security Info=False;"
        Catch ex As Exception
            MessageBox.Show("Could not connect to the Database. Check your Connection!")
        End Try
    End Function

访问数据库的东西:

Private Sub UpdateAlarmTone()
        Try
            Dim cmdText = "UPDATE alarm_tone SET subhi= @subhi1, zuhur =@zuhur1, aser = @aser1, megrib = @megrib1, isha = @isha1"
            Using con As New OleDb.OleDbConnection(connection)
                Using cmd As New OleDb.OleDbCommand(cmdText, con)
                    con.Open()
                    cmd.Parameters.AddWithValue("@subhi1", txtSubhi.Text)
                    cmd.Parameters.AddWithValue("@zuhur1", txtZuhur.Text)
                    cmd.Parameters.AddWithValue("@aser1", txtAser.Text)
                    cmd.Parameters.AddWithValue("@megrib1", txtMegrib.Text)
                    cmd.Parameters.AddWithValue("@isha1", txtIsha.Text)
                    Dim infor As String
                    infor = cmd.ExecuteNonQuery

                    If (infor > 0) Then
                        MsgBox("Alarm Tone record updated successfuly")
                    Else
                        MsgBox("Update failed!")
                    End If
                End Using
            End Using
        Catch ex As Exception
            MessageBox.Show("There is a problem with your connection!")
        End Try
    End Sub

1 个答案:

答案 0 :(得分:1)

通过ODBC自行创建Access数据库。 您还可以使用其他可用的数据库(例如,MySQL,Firebird,SQLite和其他数据库),如果安装了客户端,则无需为客户付出任何代价(或者,对于某些人来说,如果您将其包含在安装中他们)。

使用MS Office COM自动化要求在运行自动化的计算机上安装MS Office产品。 有第三方代码库用自己的代码替换该功能,这意味着您的应用程序可以创建自己的Access兼容文件。但是,您的用户仍需要Access才能使用它们