0

这是我选择最大 JO_NO 的代码:

strQ = "SELECT MAX(JO_NO) + 1 from js_hdr"

    cmd = New MySqlCommand(strQ, con)
    Try
        con.Open()
        rs = cmd.ExecuteReader
        While rs.Read

           txtJO.Text = IIf(Not IsDBNull(rs.Item("JO_NO")), rs.Item("JO_NO"), 0)

        End While
        rs.Close()

    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        con.Close()
    End Try

此代码中的错误是:在结果中找不到指定的列:JO_NO

我检查了我的表,并且有 JO_NO 列。

任何帮助将不胜感激。

4

1 回答 1

1

您没有为计算列设置任何别名,这就是它找不到该列的原因。

strQ = "SELECT MAX(JO_NO) + 1 AS JO_NO from js_hdr"

如果您想在没有记录的情况下使用查询将值设置为零,您可以使用COALESCE

strQ = "SELECT COALESCE(MAX(JO_NO), 0) + 1 AS JO_NO from js_hdr"
// other codes 
txtJO.Text = rs.Item("JO_NO")
于 2013-08-28T00:58:08.600 回答