用.net 4.0 + mysql写WCF的事务处理例子。
不加sql相关的东西都没问题。
加上就报内部错误,而且没有详细错误,也不知道为什么,我在配置文件开了debug,并且都加try了,还是没有详细信息。
测试了好几次,就怀疑是SQL的这部分有问题,但是我还看不出哪里的问题。请教。
[OperationBehavior(TransactionScopeRequired=true)]
public void intoMoney()
{
System.Threading.Thread.Sleep(1000);
string strConn = @"server=127.0.0.1;uid=root;pwd=1512;database=wcftest";
string sql = @"update account set balance=200 where id = 'B'";
MySqlConnection conn = new MySqlConnection(strConn);
MySqlCommand cmd = new MySqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
wcf 支持断点,打个断点试试,操作数据库的代码有问题。
string strConn = @"server=127.0.0.1;uid=root;pwd=1512;database=wcftest";
这行代码的问题,检查你的mysql是否启动,最好用127.0.0.1:3306,带上端口号,另外检查防火墙,你的密码是不是1512,你的数据库是不是wcftest
"update account set balance=200 where id = 'B'";
这里检查 account表是否存在,最好用
`account`
确保表名不和关键字冲突。以及你的id列是不是字符串型,你的balance是不是整数
当然最好还是加上 try catch,拦截下异常,并且输出下,先在控制台程序测试好了,再放在wcf