关于使用MYSQL数据的问题 DataReader是占用数据库连接的,所以得先把那个给关掉 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的意思我在while里就要关掉? 而且仅仅发生在while情况,如果用IF的话单条执行没有问题。另外换成SQLSERVER之类的,同样的程序用WHILE也没问题 新建一个Conneciton给msm1使用或是把全部数据读到内存中 你说的方法我试过了,这时就报这个错误:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 ---> System.IO.IOException: 无法从传输连接中读取数据: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。。 ---> System.Net.Sockets.SocketException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 oddr.Close();要放在 MySqlCommand msm1 = new MySqlCommand(sqlt, mys);这句话之前。否则当然会出错。你datareader都没有关。 if (oddr.Read()) { if (oddr["isbn"].ToString().Trim().Length != 10) { MessageBox.Show(msd["id"].ToString()); //string sqlt = "update software set bianma='" + oddr["uni_no"].ToString().Trim() + "',isbn='" + oddr["isbn"].ToString().Trim() + "' where trim(id)='2688'"; string sqlt = "update software set bianma='" + oddr["uni_no"].ToString().Trim() + "',isbn='" + oddr["isbn"].ToString().Trim() + "' where trim(id)='" + ids + "'"; MySqlCommand msm1 = new MySqlCommand(sqlt, mys); oddr.Close(); msm1.ExecuteNonQuery(); //msm1.Update(sqlt, mys); //msm1.ExecuteNonQuery(); } else {oddr.Close();} } else {oddr.Close();} 你说的这个方法我试过了,还是报之前的错,而且报错的是没有关闭MYSQL的datareader,oddr是连接oracle的 那就把msd和ODDR都关掉。先前没看到你又是SQL又是OLDB的。 oddr关掉没问题,但是msd关掉的话while就不能循环了。 msm1.Close(); ?msm1不是DATAREADER 那就不用dataread,用dataset来替代msd 嗯,那为什么同样的语句,SQLSERVER和ORACEL都没问题,难道是脏读的问题? 应该不是数据读脏的问题。用SQLSEVER没有问题应该是因为你的SQLCONNECTION没有被sqldatareader占用。 用gridview动态绑定datatable后, 请教一个简单的http协议制定 c# 实现图片压缩 我试了好多办法都报GDI错误!谁有好办法的分享点(图片的长度宽度不改变,改变他的大小也就是多少kb什么的) 问个关于socket的问题 DatagridView取消选择不行啊!!! 200求解小问题winform下自定义DataGridTextBoxColumn.... 急问如何将一个图片缩小尺寸? 问几个关于注册表的问题 dataGridView 判断新行问题 西南某重点大学C#的考试题。大家可以做做。 一个正测表达式 dll反编译问题
你的意思我在while里就要关掉?
或是把全部数据读到内存中
否则当然会出错。你datareader都没有关。
if (oddr.Read())
{
if (oddr["isbn"].ToString().Trim().Length != 10)
{
MessageBox.Show(msd["id"].ToString());
//string sqlt = "update software set bianma='" + oddr["uni_no"].ToString().Trim() + "',isbn='" + oddr["isbn"].ToString().Trim() + "' where trim(id)='2688'";
string sqlt = "update software set bianma='" + oddr["uni_no"].ToString().Trim() + "',isbn='" + oddr["isbn"].ToString().Trim() + "' where trim(id)='" + ids + "'";
MySqlCommand msm1 = new MySqlCommand(sqlt, mys); oddr.Close();
msm1.ExecuteNonQuery();
//msm1.Update(sqlt, mys);
//msm1.ExecuteNonQuery();
}
else
{oddr.Close();}
}
else {oddr.Close();}
msm1不是DATAREADER
嗯,那为什么同样的语句,SQLSERVER和ORACEL都没问题,难道是脏读的问题?