0
我与下列的表MS Access和VB.net查询错误
ID(integer)
mat_id(integer)
move_date(Date/Time)
rec_num (Short text)
Qty (number(double))
我已经做编程 的连接,并试图查询 代码如下
Public Class ViewMatInfo
Dim ConStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\RMM\RMMDB.mdb;Persist Security Info=True"
Dim Conn As New OleDb.OleDbConnection(ConStr)
Dim ShowTable As New OleDb.OleDbCommand
Dim RAD As OleDb.OleDbDataReader
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
ShowTable.Connection = Conn
ShowTable.CommandType = CommandType.Text
ShowTable.CommandText = "SELECT Sum(qty) AS [totqty] FROM moves WHERE [mat_id] = " & MT_TEXT.SelectedValue.ToString & ""
Conn.Open()
RAD = ShowTable.ExecuteReader()
While RAD.Read
SUM_TEXT.Text = RAD.GetDouble("totqty")
End While
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
Me.MovesTableAdapter.FillByMat(Me.RMMDS.moves, MT_TEXT.SelectedValue)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
当我运行应用程序并从“MT_TEXT”组合框中选择材料时,然后单击按钮 ,数据网格视图会充满所有材料移动。 但SUM_TEXT文本框仍为空。 并得到错误信息 “从字符串转换‘totqty’到整数无效”
请有此问题的
的[文档SELECT](https://msdn.microsoft.com/en-us/library/office/ff821148.aspx)不显示任何分隔符排序别名 - 它是否工作,如果你使用'SELECT Sum(qty)AS totqty FROM'...?另外,我建议使用SQL参数,而不是将查询值串联到SQL字符串中。 –
哪一行会引发错误?这是一个吗? SUM_TEXT.Text = RAD.GetDouble(“totqty”) – HarveyFrench
@Andrew。你是否修复了代码?我给了一个修复的答案? – HarveyFrench