在VB.Net中使用SQL连接到Access数据库

保罗·威廉姆斯

我使用Access作为备份数据存储(我知道为什么不正确使用MySQL吗?)。无论如何,要克服这一点,我想使用SQL在数据库中搜索预订日期。我可以查询今天的日期,但是我想用某种方式输入日期,然后根据该日期查找结果。到目前为止,我的代码是这样的:

Public Class Bookings
    Dim con As New OleDb.OleDbConnection
    Dim dbProvider As String
    Dim dbSource As String
    Dim ds As New DataSet
    Dim da As OleDb.OleDbDataAdapter
    Dim sql As String


    Private Sub Bookings_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dbProvider = "PROVIDER=Microsoft.Jet.OleDB.4.0;"
        dbSource = "Data Source = C:\Users\wm\Desktop\MAdams\Karting2000DB.mdb"

        con.ConnectionString = dbProvider & dbSource

        con.Open()

        sql = "SELECT * FROM tblBookings WHERE BookingDate = txtDate.Text"

        da = New OleDb.OleDbDataAdapter(sql, con)
        da.Fill(ds, "AddressBook")

        MsgBox("Database is now open")

        con.Close()

        MsgBox("Database is now closed")

        txtBookingNumber.Text = ds.Tables("AddressBook").Rows(0).Item("ID")
        txtCustID.Text = ds.Tables("AddressBook").Rows(0).Item("CustomerID")
    End Sub     
End Class

我对此很陌生,越简单越好!

非常感谢

史蒂夫

您不能将文本txtDate的text属性嵌入sql字符串中,并希望将其转换为正确的值。

您需要使用参数化查询

sql = "SELECT * FROM tblBookings WHERE BookingDate = @date"
da = New OleDb.OleDbDataAdapter(sql, con)
da.SelectCommand.Parameters.Add("@date", OleDbType.Date).Value = Convert.ToDateTime(txtDate.Text)
da.Fill(ds, "AddressBook")

此方法要求您的用户在文本框中键入有效日期。如果不确定日期是否正确,则需要使用TryParse方法从文本中提取有效的datetime对象。

Dim bookDate as DateTime
if Not DateTime.TryParse(txtDate.Text, bookDate) then
    MessageBox.Show("Not a valid date")
else
    ..... the code above with the bookDate passed as parameter value.

正如@Plutonix在其评论中所说,有许多最佳实践需要应用于您的代码

  • 不要为连接,适配器和其他托管类实现全局变量。使用后需要立即填充它们,并在您再次需要它们时进行重建
  • 诸如连接,适配器以及最终的DataReader之类的对象实现了一次性接口。这意味着当您不再需要它们时,应该将它们包含在Using语句中以销毁它们
  • 不要在方法中对连接字符串进行硬编码。如果要分发应用程序,则需要在各处更改该字符串(除非目标计算机具有相同的路径),请使用app.Config(web.Config)和ConfigurationManager类来检索它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Visual Studio中使用VB.NET连接到本地SQL数据库的连接字符串问题

来自分类Dev

缓慢的数据库查询:使用VB.net连接到Access

来自分类Dev

我无法使用VB.NET连接到我的SQL Server数据库

来自分类Dev

如何使用vb.net连接到Godaddy Cpanel中的在线数据库

来自分类Dev

Access VB连接oracle数据库

来自分类Dev

VB .Net,SQL Server 2012 Express数据库连接

来自分类Dev

VB .Net,SQL Server 2012 Express数据库连接

来自分类Dev

连接到本地SQL Server数据库的VB.NET WinForms应用程序的正确连接字符串

来自分类Dev

通过VB.NET 2010连接到Access 2013数据库时出现无效的文件名错误

来自分类Dev

通过VB.NET 2010连接到Access 2013数据库时出现无效的文件名错误

来自分类Dev

如何在vb.net中使用Switch语句访问Access数据库

来自分类Dev

在VB.NET中使用OLEDB通过DataGridView更新Access数据库

来自分类Dev

连接到vb2010中的嵌入式Access数据库

来自分类Dev

VB6如何连接到PostgreSQL数据库?

来自分类Dev

将我的vb.net应用程序连接到MySQL数据库

来自分类Dev

使用VB.NET更新SQL数据库

来自分类Dev

带Button的VB.NET DGV中不会显示Access数据库。连接无法打开

来自分类Dev

在vb.net中使用登台表和bulkcopy更新SQL数据库表BULK的陷阱

来自分类Dev

无法使用VB.net连接到Access

来自分类Dev

如何在Vb net中使用For子句从数据库mysql获取数据

来自分类Dev

VB.NET和Access数据库趋势

来自分类Dev

VB.NET Access数据库255列限制

来自分类Dev

VB.NET修改与Access数据库的匹配

来自分类Dev

使用web.config(asp.net,vb)保存数据库连接字符串

来自分类Dev

使用VB.NET通过USB连接到SQL Server

来自分类Dev

VB.Net无法连接到SQL

来自分类Dev

在vb.net中使用linq从数据库显示列表

来自分类Dev

VB.NET SQL数据库登录

来自分类Dev

带有VB> NET的可用SQL数据库列表

Related 相关文章

  1. 1

    在Visual Studio中使用VB.NET连接到本地SQL数据库的连接字符串问题

  2. 2

    缓慢的数据库查询:使用VB.net连接到Access

  3. 3

    我无法使用VB.NET连接到我的SQL Server数据库

  4. 4

    如何使用vb.net连接到Godaddy Cpanel中的在线数据库

  5. 5

    Access VB连接oracle数据库

  6. 6

    VB .Net,SQL Server 2012 Express数据库连接

  7. 7

    VB .Net,SQL Server 2012 Express数据库连接

  8. 8

    连接到本地SQL Server数据库的VB.NET WinForms应用程序的正确连接字符串

  9. 9

    通过VB.NET 2010连接到Access 2013数据库时出现无效的文件名错误

  10. 10

    通过VB.NET 2010连接到Access 2013数据库时出现无效的文件名错误

  11. 11

    如何在vb.net中使用Switch语句访问Access数据库

  12. 12

    在VB.NET中使用OLEDB通过DataGridView更新Access数据库

  13. 13

    连接到vb2010中的嵌入式Access数据库

  14. 14

    VB6如何连接到PostgreSQL数据库?

  15. 15

    将我的vb.net应用程序连接到MySQL数据库

  16. 16

    使用VB.NET更新SQL数据库

  17. 17

    带Button的VB.NET DGV中不会显示Access数据库。连接无法打开

  18. 18

    在vb.net中使用登台表和bulkcopy更新SQL数据库表BULK的陷阱

  19. 19

    无法使用VB.net连接到Access

  20. 20

    如何在Vb net中使用For子句从数据库mysql获取数据

  21. 21

    VB.NET和Access数据库趋势

  22. 22

    VB.NET Access数据库255列限制

  23. 23

    VB.NET修改与Access数据库的匹配

  24. 24

    使用web.config(asp.net,vb)保存数据库连接字符串

  25. 25

    使用VB.NET通过USB连接到SQL Server

  26. 26

    VB.Net无法连接到SQL

  27. 27

    在vb.net中使用linq从数据库显示列表

  28. 28

    VB.NET SQL数据库登录

  29. 29

    带有VB> NET的可用SQL数据库列表

热门标签

归档