加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 数据库 > MySql > 正文

C#操作mysql数据库事务以及获取插入数据ID方法

发布时间:2023-12-22 05:46:54 所属栏目:MySql 来源:DaWei
导读: 代码如下:

///

/// 事务测试

///

///

///

public int ServiceTest(string str)

{

int ret=0;

using (OdbcConnection conn = new OdbcConnection(str))

{
代码如下:

///

/// 事务测试

///

///

///

public int ServiceTest(string str)

{

int ret=0;

using (OdbcConnection conn = new OdbcConnection(str))

{

conn.Open();

OdbcCommand command = conn.CreateCommand();

OdbcTransaction transaction;

//启动事务

transaction = conn.BeginTransaction();

command.Connection = conn;

command.Transaction = transaction;

try

{

//获取插入数据后的ID

command.CommandText = "insert into com_user (`username`,`password`,`logintime`,`loginip`,`lock`) values('bbb','bbb',222,'bbb',0);SELECT LAST_INSERT_ID();";//SELECT LAST_INSERT_ID()是mysql提供的方法

int aa = command.ExecuteNonQuery();

//获取插入的ID

int newId = Convert.ToInt32(command.ExecuteScalar());

//下面的sql语句是错误的,为了catch错误回滚

command.CommandText = "insert into com_user_1 (`username`,`password`,`logintime`,`loginip`,`lock`) values('aaa','aaa',111,'aaa',0)";

command.ExecuteNonQuery();

transaction.Commit();

}

catch (Exception ex)

{

transaction.Rollback();

ret = -1;

}

finally

{

conn.Close();

}

}

return ret;

}

1、刚开始的时候事务无法回滚,主要原因是数据库表引擎设置问题数据库插入操作,需要设置成InnoDB模式。

2、数据库表结构:

power designer 插入数据_数据库插入操作_mysql存储过程批量插入数据

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章