我有一个名为customer的表,其中有两列名为cust_ID和Temp_ID。 Temp_ID是一个整数。我想将一个连接的ID作为cust_ID。
我有以下函数来获取temp_id的最大值并将其递增1。
Private Function Tempo()
Try
con.Open()
cmd.Connection = con
cmd.CommandText = ("Select MAX(Temp_ID) From Customer")
cmd.ExecuteNonQuery()
Dim sqlRead As SqlDataReader = cmd.ExecuteReader()
Temp1 = sqlRead.Item("Temp_ID")
Temp1 = Temp1 + 1
Catch ex As Exception
MsgBox(ex)
End Try
Return True
End Function
我在vb.net客户界面中点击了客户ID文本框的事件。
Private Sub txtBoxCustProfileID_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtBoxCustProfileID.Click
Tempo()
Dim x = Temp1
Dim newID = String.Concat("C/", cmbNationality.Text, "/", Now.Year, "/", x)
txtBoxCustProfileID.Text = newID
End Sub
当我运行此代码时,我在Tempo函数中收到以下错误消息" Argument' Prompt'无法转换为' String' "我真的不明白这意味着什么,我也是编程的新手。 请帮忙。
答案 0 :(得分:0)
您目前没有从SQL查询中获取名为Temp_ID的列。
你需要改变这个:
cmd.CommandText = ("Select MAX(Temp_ID) From Customer")
对此:
cmd.CommandText = ("Select MAX(Temp_ID) AS Temp_ID From Customer")
也摆脱这条线:
cmd.ExecuteNonQuery()