Sql 在VB.Net工作文件夹中使用多个条件搜索Access数据库
项目背景 我正在从事一个VB.Net项目,该项目将地图创建者与数据库相结合。它是根据YouTube()上的这些教程构建的 其想法是能够单击网格上的一个正方形,并在屏幕上显示相应的数据库行 当用户单击“Go”(参见底部的图像)时,会记录X和Y轴网坐标(参见右上方的图像)。我通过以下单击事件完成此操作:Sql 在VB.Net工作文件夹中使用多个条件搜索Access数据库,sql,vb.net,visual-studio,ms-access,Sql,Vb.net,Visual Studio,Ms Access,项目背景 我正在从事一个VB.Net项目,该项目将地图创建者与数据库相结合。它是根据YouTube()上的这些教程构建的 其想法是能够单击网格上的一个正方形,并在屏幕上显示相应的数据库行 当用户单击“Go”(参见底部的图像)时,会记录X和Y轴网坐标(参见右上方的图像)。我通过以下单击事件完成此操作: Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click 'Associates click
Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
'Associates click with colour for paintbrush
If MouseX = 1 And MouseY = 22 Then
Paintbrush = 1 'BUILDING
ElseIf MouseX = 5 And MouseY = 22 Then
Paintbrush = 2 'WATER
ElseIf MouseX = 8 And MouseY = 22 Then
Paintbrush = 3 'ROAD
ElseIf MouseX = 11 And MouseY = 22 Then
Paintbrush = 4 'FIELD
ElseIf MouseX = 14 And MouseY = 22 Then
Paintbrush = 5 'WOODLAND
ElseIf MouseX = 18 And MouseY = 22 Then
Paintbrush = 6
End If
If MouseY <= 20 Then
Select Case Paintbrush
Case 0
Case 1 ' Building
Map(mMapX, mMapY, 0) = 1
Case 2 ' Water
Map(mMapX, mMapY, 0) = 2
Case 3 ' Road
Map(mMapX, mMapY, 0) = 3
Case 4 ' Field
Map(mMapX, mMapY, 0) = 4
Case 5 ' Woodland
Map(mMapX, mMapY, 0) = 5
Case 6 'Go
CurrentLocationX = MouseX ' <<< This is the important part here
CurrentLocationY = MouseY
XLocation.Text = CurrentLocationX
YLocation.Text = CurrentLocationY
End Select
End If
End Sub
最终结果是,单击命令将进行此查询并更新地图栅格位置的“说明”。我想我这里有所有必要的组件,我只是在努力将两个系统(网格和数据库)连接起来
问题
我在网上查了一下,虽然我发现答案都是针对具体情况的,我可以打捞任何代码。我需要在ClickEvent中添加什么才能查询数据库并刷新显示的记录
可能的话,构建一个类对象,其中包含定义单元格的矩形和对相应数据行的引用,以及选择单元格时所需的任何其他信息。您可以使用
Rectangle.Contains(Point)
来确定单击了哪个单元格。类似这样:我很高兴听到您的问题已经解决,您可以单击'✔' 将你的答复标记为答复。
XLocation.Text = CurrentLocationX
YLocation.Text = CurrentLocationY
Imports System.Data.OleDb
Public Class Form1
'Search Variables
Dim con As New OleDbConnection
[...]
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Open Search Connection
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\matth\OneDrive\Desktop\VisualBasic Stuff\GameFinal\Database.accdb"
con.Open()
[...]
Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click
'Go
CurrentLocationX = MouseX
CurrentLocationY = MouseY
XLocation.Text = CurrentLocationX
YLocation.Text = CurrentLocationY
SearchSQL()
Current.Focus()
SendKeys.Send("{ENTER}")
End Select
End If
End Sub
[...]
Private Sub SearchSQL()
Dim ds As New DataSet
Dim dt As New DataTable
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("SELECT ID FROM Twix WHERE x =" & CurrentLocationX & " and y =" & CurrentLocationY, con)
da.Fill(dt)
Current.Text = dt.Rows(0).Item(0)
con.Close()
End Sub