首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExecuteScalar多个事务

ExecuteScalar多个事务
EN

Stack Overflow用户
提问于 2014-02-24 19:07:29
回答 2查看 627关注 0票数 0

我正尝试在查询中使用ODBC连接到mysql来执行ExecuteScalar()。我的问题是:

代码语言:javascript
复制
string query = @"SET @MY_ID := (SELECT IFNULL(MAX(id) + 1, 1) FROM sc);" + Environment.NewLine + "INSERT INTO sc (id, name) values (@MY_ID, 'TESTE');"

我得到了:

{System.Data.Odbc.OdbcException (0x80131937): ERROR [42000] [MySQL][ODBC 5.1 Driver] [mysqld-5.0.83-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO

EN

回答 2

Stack Overflow用户

发布于 2014-02-24 19:17:50

不能使用SET从结果集中初始化变量,需要实际执行查询

代码语言:javascript
复制
 SELECT @MY_ID := ...
票数 0
EN

Stack Overflow用户

发布于 2014-02-24 19:19:05

试试这个:

代码语言:javascript
复制
string query = "Declare @MY_ID int;Select @MY_ID  = IFNULL(MAX(id) + 1, 1) from sc;INSERT INTO sc (id, name) values (@MY_ID, 'TESTE');"
OleDBCommand command=new OleDbCommand(query,connectionObj);
int status;

status=command.ExecuteNonQuery();

if(status>0)
{
//success
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21985960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档