Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用vb.net在sql db中调用列的最大值_Sql_Vb.net - Fatal编程技术网

使用vb.net在sql db中调用列的最大值

使用vb.net在sql db中调用列的最大值,sql,vb.net,Sql,Vb.net,大家好!我试图获取表中某列的最大值,这样我就可以+1该值并将新值分配给另一条记录。我想得到最大值,然后把它放在一个文本框中。我也从这里得到了代码,但是我遇到了一个错误,它说“类型unsigned不是已定义的系统类型”。我做了一些研究,当我尝试将“unsigned”更改为varchar或char时,错误变为“Data is Null。此方法或属性不能对Null值调用”。当我尝试更改代码部分时,也会发生同样的情况“选择max(强制转换(productid为unsigned))”为“max(produ

大家好!我试图获取表中某列的最大值,这样我就可以+1该值并将新值分配给另一条记录。我想得到最大值,然后把它放在一个文本框中。我也从这里得到了代码,但是我遇到了一个错误,它说“类型unsigned不是已定义的系统类型”。我做了一些研究,当我尝试将“unsigned”更改为varchar或char时,错误变为“Data is Null。此方法或属性不能对Null值调用”。当我尝试更改代码部分时,也会发生同样的情况“选择max(强制转换(productid为unsigned))”为“max(productid)”。希望您能帮助我。 以下是代码:

connect.Open()


您可以使用Scope_标识。只需将其添加到插入的末尾,它将返回新的ProductID

Dim ProdID As Integer
Using cn As New SqlConnection("Your connection String")
    Using cmd As New SqlCommand("Insert whatever...; Select SCOPE_IDENTITY();", cn)
        cn.Open()
        ProdID = CInt(cmd.ExecuteScalar())
    End Using
End Using

productid列的数据类型是什么?
unsigned
听起来像MySQL,但你真的在使用MySQL吗?请标记你的DBMS。还有什么数据类型是
productid
?你可能应该使用
identity
/
auto_increment
列(语法因数据库而异)。你不应该在代码中使用这种逻辑。我实际上使用的是sql server 2012,我对使用这种逻辑是新手。我只是在网上冲浪,寻找适合我的问题的解决方案。目标是获得下一个“未分配”的解决方案“productid,并在上一次添加记录后自动将其放入文本框中。这就是我们如何声明productid列:
ID INT NOT NULL IDENTITY(1,1)主键,productid为'PROD'+RIGHT('0'+Cast(ID为VARCHAR(5)),6)persistend,
是否可以检查productid列是否包含所有数字数据,是否可以共享表的sql FIDLE或示例数据?
Dim ProdID As Integer
Using cn As New SqlConnection("Your connection String")
    Using cmd As New SqlCommand("Insert whatever...; Select SCOPE_IDENTITY();", cn)
        cn.Open()
        ProdID = CInt(cmd.ExecuteScalar())
    End Using
End Using