从 VB.NET 向 MySQL 传递和接收输出参数
Posted
技术标签:
【中文标题】从 VB.NET 向 MySQL 传递和接收输出参数【英文标题】:Pass and receive an output parameter from VB.NET to a MySQL 【发布时间】:2020-07-16 01:57:18 【问题描述】:此代码在 SQL Server 上可以正常运行。
请将此代码转换为 mysql。
在 MySQL 上运行会出现以下错误。
错误 = 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的 '1=IdMax + 1 where TypeID>1' 附近使用的正确语法
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
【问题讨论】:
你试过了吗?官方文档应该是您的第一站,因为所有官方文档都非常出色。 嗯,是MySql还是Sql Server? 【参考方案1】:所以你可以在 mysql 中得到你想要的东西。
你的 sql server 查询实际上是用数字 1 增加 IdMax,然后将增加的数字传输回 vb net。
这在 mysql 中不起作用。
当你看到更新 IdMax 时,我真的不明白你得到了什么。
为此,我必须查看表格,以充分了解正在尝试做的事情..
你能做的是
第一
SELECT MAX(IdMax) + 1 FROM ID_Max1 WHERE TypeID>1;
获取最大的数字,将其增加,然后存储在 IDMax_Update 中
这里解释how you store a result in a variavbkle
然后用
更新一行或多行UPDATE ID_Max1 SET IdMax = IdMax WHERE TypeID>1;
你做了 2 次查询并得到相同的结果
【讨论】:
以上是关于从 VB.NET 向 MySQL 传递和接收输出参数的主要内容,如果未能解决你的问题,请参考以下文章