从VB.NET向MySQL传递并接收输出参数

从VB.NET向MySQL传递并接收输出参数,mysql,sql-server,vb.net,parameters,Mysql,Sql Server,Vb.net,Parameters,此代码在SQL Server上正常工作 请将此代码转换为MySQL 在MySQL上运行会出现以下错误 Error=您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的TypeID>1附近使用的正确语法 所以你可以在mysql中找到你不想要的东西 sql server查询实际上是用数字1增加IdMax,然后将增加的数字传输回vb net 这在mysql中不起作用 我真的不明白当你看到更新IdMax时会得到什么 为此,我必须查看表格,以充分了解我们正在尝试做什么 你

此代码在SQL Server上正常工作

请将此代码转换为MySQL

在MySQL上运行会出现以下错误

Error=您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的TypeID>1附近使用的正确语法


所以你可以在mysql中找到你不想要的东西

sql server查询实际上是用数字1增加IdMax,然后将增加的数字传输回vb net

这在mysql中不起作用

我真的不明白当你看到更新IdMax时会得到什么

为此,我必须查看表格,以充分了解我们正在尝试做什么

你能做的就是

首先

在TypeID>1的ID_Max1中选择MAX(IdMax)+1

获取最大值,增加该值,然后将其存储在IDMax\U Update中

这里是解释

然后使用更新一行或多行

更新ID_Max1 SET IdMax=IdMax,其中TypeID>1


您进行了两次查询,得到了相同的结果

,因此您可以在mysql中找到您不想要的结果

sql server查询实际上是用数字1增加IdMax,然后将增加的数字传输回vb net

这在mysql中不起作用

我真的不明白当你看到更新IdMax时会得到什么

为此,我必须查看表格,以充分了解我们正在尝试做什么

你能做的就是

首先

在TypeID>1的ID_Max1中选择MAX(IdMax)+1

获取最大值,增加该值,然后将其存储在IDMax\U Update中

这里是解释

然后使用更新一行或多行

更新ID_Max1 SET IdMax=IdMax,其中TypeID>1


你做了两次查询,结果都一样

你试过了吗?官方文档应该是你的第一个调用端口,因为所有的官方文档都很优秀。那么,是MySql还是Sql Server?你试过了吗?官方文档应该是您的第一个调用端口,因为所有的官方文档都非常优秀。那么,是MySql还是Sql Server?
Public Def_Command_SQL1 As SqlClient.SqlCommand
Def_Command_SQL1.CommandText = "UPDATE ID_Max1 SET IdMax = IdMax + 1 , @OutID = IdMax + 1 where TypeID>1"
Def_Command_SQL1.Parameters.Clear()   
Def_Command_SQL1.Parameters.Add(New SqlParameter("@OutID", SqlDbType.Int))=1
Def_Command_SQL1.Parameters("@OutID").Direction = ParameterDirection.Output
Def_Command_SQL1.ExecuteNonQuery()
IDMax_Update = Def_Command_SQL1.Parameters("@OutID").Value