asp.net 链接 mysql的问题

enasp 2009-01-09 10:43:56
System.InvalidOperationException: The connection is not open. 在 MySql.Data.MySqlClient.MySqlConnection.BeginTransaction(IsolationLevel iso) 在 MySql.Data.MySqlClient.MySqlConnection.BeginTransaction()




[WebMethod]
public string InsertData(string newid title content)
{
try
{

string result = "";

string sql = "insert into t1(newid title) values ('" + newid + "','" + title + "')";


string sql1 = "insert into t2(newid content) values ('" + newid + "','" + content + "')";


MySqlConnection DefSqlCon = new MySqlConnection("server=192.168.0.1;user id=net;password=123;database=test");

MySqlTransaction tran = DefSqlCon.BeginTransaction();
DefSqlCon.Open();
MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction = tran;
sqlcmd.Connection = DefSqlCon;
sqlcmd.ExecuteNonQuery();



MySqlCommand sqlcmd1 = new MySqlCommand(sql1, DefSqlCon);
sqlcmd1.Transaction = tran;
sqlcmd1.Connection = DefSqlCon;
sqlcmd1.ExecuteNonQuery();

tran.Commit();

result = "1";
return result;




}
catch (Exception err)
{

return err.ToString();
}
finally
{

}

...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
enasp 2009-01-09
  • 打赏
  • 举报
回复
MySql.Data.MySqlClient.MySqlException: Unknown column 'newid' in 'field list' 在 MySql.Data.MySqlClient.MySqlStream.OpenPacket()


[WebMethod]
public string InsertData(string newid title content)
{
try
{

string result = "";

string sql = "insert into t1(newid title) values ('" + newid + "','" + title + "')";


string sql1 = "insert into t2(newid content) values ('" + newid + "','" + content + "')";


MySqlConnection DefSqlCon = new MySqlConnection("server=192.168.0.1;user id=net;password=123;database=test");
DefSqlCon.Open(); //放在这就可以了,呵呵,是不是不能同时插入两个表啊?提示错误
MySqlTransaction tran = DefSqlCon.BeginTransaction();

MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction = tran;
sqlcmd.Connection = DefSqlCon;
sqlcmd.ExecuteNonQuery();



MySqlCommand sqlcmd1 = new MySqlCommand(sql1, DefSqlCon);
sqlcmd1.Transaction = tran;
sqlcmd1.Connection = DefSqlCon;
sqlcmd1.ExecuteNonQuery();

tran.Commit();

result = "1";
return result;




enasp 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phper2008 的回复:]
MySqlTransaction tran = DefSqlCon.BeginTransaction();
应该是这句,你没有开始事务,然后在后面用
tran.Commit();是不可以的!
[/Quote]

报错是这句有问题,可是怎么改呢?
cwmwss 2009-01-09
  • 打赏
  • 举报
回复
OK
enasp 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaoyuzi 的回复:]
MySqlTransaction tran = DefSqlCon.BeginTransaction();
DefSqlCon.Open();
MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction = tran;
改称
DefSqlCon.Open();
MySqlTransaction tran = DefSqlCon.BeginTransaction();

MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction =…
[/Quote]

还是一样!
phper2008 2009-01-09
  • 打赏
  • 举报
回复
MySqlTransaction tran = DefSqlCon.BeginTransaction();
应该是这句,你没有开始事务,然后在后面用
tran.Commit();是不可以的!
xiaoyuzi 2009-01-09
  • 打赏
  • 举报
回复
MySqlTransaction tran = DefSqlCon.BeginTransaction();
DefSqlCon.Open();
MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction = tran;
改称
DefSqlCon.Open();
MySqlTransaction tran = DefSqlCon.BeginTransaction();

MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
sqlcmd.Transaction = tran;
enasp 2009-01-09
  • 打赏
  • 举报
回复
没人能帮一下吗

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧