2016-12-20 35 views
0
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum[Shark Individual Weight] from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

你好。我正在使用vb.net连接到ms访问。我不断收到错误'查询表达式中缺少运算符'。我想知道我的sql语句有什么问题。在查询总和表达式中缺少运算符vb网

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select Sum([Shark Individual Weight]) From FishCaught Where ([OperationID]) = '" & TextBoxOpID4.Text & "'", myConnection) 
    Dim ds As DataTable = New DataTable() 
    da.Fill(ds) 
    DataGridView2.DataSource = ds 

我想我的SQL语法是错误的。应该怎么写呢?我得到这个错误'标准表达式中的数据类型不匹配'。如果我只是写'Dim da As OleDbDataAdapter = New OleDbDataAdapter(“Select Sum([Shark Individual Weight])from FishCaught',总和将会显示,所以我认为在WHERE子句中有错误,任何帮助将不胜感激,谢谢。

+0

'总和[Shark Individual Weight]'看起来错误应该是'sum(fieldname)',但在你的代码中'Shark Individual Weight'不是字段 –

+0

但是在ms访问中,鲨鱼个体重量是一个字段 – lee

回答

0

这是你的代码

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum[Shark Individual Weight] from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

应该是代码必须是这样的

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum(The_Name_Of_The_Field) from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

是这样的,试试这个FINAL

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum(Shark__Individual_Weight) as FishWeight from FishCaught'", myConnection) 
    Dim ds As DataTable = New DataTable() 
    da.Fill(ds) 
    DataGridView1.DataSource = ds 

    myConnection.Close() 

尝试改变Shark Individual WeightShark_Individual_Weight它会工作

+0

感谢您的回复。但代码仍然产生相同的错误 – lee

+0

没有更改。仍然错误:( – lee

+0

错误是什么说的? –

0

总和是一个函数,你有一个令人不安的单引号,即:

"Select Sum([Shark Individual Weight]) From FishCaught" 
+0

我得到这个错误'没有给出一个或多个必需的参数值。' – lee

+0

这表示缺少或拼写错误的字段名称。 – Gustav

+0

谢谢我的程序正常工作! DataGridView1.DataSource应该是DataGridView2.DataSource – lee

0

"Select Sum([field name]) From FishCaught"应该工作。你是否检查过数据库中的字段名称,它不应该包含任何空格。为了使字段名称更具可读性,您可以用“_”替换任何空格。

+0

我已经得到了正确的代码,无论如何感谢。然而,当我添加where子句时,代码存在一些问题。如果可能的话,你能帮助我吗? – lee

相关问题