这个选择查询有什么问题

时间:2014-01-05 06:24:57

标签: sql vb.net

这是我在vb.net中的sql server select查询。

Try
    retrieveRecord("ProductBasicInfo", "ProdID = " & txtProdID.Text.Trim)
    DataGridView1.DataSource = dsSql.Tables("ProductBasicInfo")
    MessageBox.Show("ok")
Catch ex As Exception
    MessageBox.Show(ex.Message)
End Try

这是接收查询的函数:

Public Sub retrieveRecord(ByVal tblname As String, ByVal parameter As String)

    Try
        If dsSql.Tables.Contains(tblname) Then
            dsSql.Tables.Remove(tblname)
        End If

        cmdSql1.CommandText = "select * from " & tblname & "where " & parameter & ""
        cmdSql1.Connection = Connect()
        daSql.SelectCommand = cmdSql1
        daSql.Fill(dsSql, tblname)

    Catch ex As Exception
        MessageBox.Show(ex.Message)

    End Try


End Sub

错误的语法接近=?请指导我在哪里做错了。

2 个答案:

答案 0 :(得分:2)

生成SQL语句

cmdSql1.CommandText = "select * from " & tblname & "where " & parameter & ""

您忽略了在表名和WHERE子句之间插入空格....

cmdSql1.CommandText = "select * from " & tblname & " where " & parameter & ""

...也是,结尾& “”没有实际意义。

答案 1 :(得分:0)

你需要在tblname和where之间留一个空格,你可能需要txtProdID.Text.Trim周围的引号。