用SQl查询结果填充VB.net datatable(链接到microsoft access关系数据库)
你好,我想知道是否有人能帮我。 我需要在关系数据库上输出SQL查询的结果。我希望输出与在MicrosoftAccess中执行查询时看到的表一样。为此,我使用了VB.net数据网格。我看到简单查询的结果,例如 “从表单中选择*” 但是,如果我尝试向SQL语句添加更多的细节(即使只是一个WHERE),代码将抛出错误System.Data.OleDb.OledBeException:“没有为一个或多个必需参数提供值。” 我需要的特定SQL语句是 “从表单上的表单内部联接[Student data]中选择[Student data]。[学生姓名],[Student data]。[学生数据]。[学生数据]。[表单组]=[Student data]。[表单组]其中((([Student data].严重性)=高));” 这是我目前使用的简单代码:用SQl查询结果填充VB.net datatable(链接到microsoft access关系数据库),vb.net,Vb.net,你好,我想知道是否有人能帮我。 我需要在关系数据库上输出SQL查询的结果。我希望输出与在MicrosoftAccess中执行查询时看到的表一样。为此,我使用了VB.net数据网格。我看到简单查询的结果,例如 “从表单中选择*” 但是,如果我尝试向SQL语句添加更多的细节(即使只是一个WHERE),代码将抛出错误System.Data.OleDb.OledBeException:“没有为一个或多个必需参数提供值。” 我需要的特定SQL语句是 “从表单上的表单内部联接[Student data]中选
Private Sub data_table()
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
datafile = "P:\Documents\SCHOOL WORK\A level\COMPUTER SCIENCE\PROJECT\Visual basic\Student Data.accdb"
connstring = provider & datafile
myconnection.ConnectionString = connstring
myconnection.Open()
Dim command As New OleDbCommand("SELECT * FROM Form;", myconnection)
Dim reader As OleDbDataReader = command.ExecuteReader()
Dim dt As New DataTable()
dt.Load(reader)
DataGridView1.DataSource = dt
myconnection.Close()
End Sub
这是显示错误的代码:
Private Sub data_table()
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "
datafile = "P:\Documents\SCHOOL WORK\A level\COMPUTER SCIENCE\PROJECT\Visual basic\Student Data.accdb"
connstring = provider & datafile
myconnection.ConnectionString = connstring
myconnection.Open()
Dim command As New OleDbCommand("SELECT [Student data].[Student First Name], [Student data]. [Student Last Name], [Student data].Severity, [Student data].[Form group] FROM Form INNER JOIN [Student data] ON Form.[Form group] = [Student data].[Form group] WHERE ((([Student data].Severity)= High));", myconnection)
Dim reader As OleDbDataReader = command.ExecuteReader()
Dim dt As New DataTable()
dt.Load(reader)
DataGridView1.DataSource = dt
myconnection.Close()
End Sub
请你帮帮我,我迷路了。
谢谢:)大多数数据库对象不仅需要关闭,还需要释放<代码>使用…结束使用块为您处理此问题,即使出现错误。一个Using块在这里处理连接和命令 一旦连接和命令被关闭并由
端使用
处理,我们将更新用户界面
我真的不明白你为什么需要加入你的查询。所有数据都来自同一个表,Where子句引用了同一个表
Private Sub data_table()
Dim dt As New DataTable
Using cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=P:\Documents\SCHOOL WORK\A level\COMPUTER SCIENCE\PROJECT\Visual basic\Student Data.accdb;"),
cmd As New OleDbCommand("SELECT
[Student First Name],
[Student Last Name],
Severity,
[Form group]
FROM [Student data] WHERE Severity= 'High'));", cn)
cn.Open()
dt.Load(cmd.ExecuteReader)
End Using
DataGridView1.DataSource = dt
End Sub
检查列名是否有拼写错误。另外,
[Student data]中的点后面还有一个空格。[学生姓氏]
。拆下它。如果将“高”替换为“高”,它会工作吗?似乎你已经省略了应该围绕文本文字的撇号。非常感谢你,我的代码现在可以工作了!!!我盯着那个代码看了两天,试图找出错误。它是如此简单。非常感谢。