新鲜的c#问题,开了看看了^^

xiong89 2010-12-20 10:34:14
一下代码提示:"连接未关闭 .连接的当前状态为打开!!"

private void button1_Click(object sender, EventArgs e)
{
//string a = label3Name.Text;//纪录员工姓名标签在.提示中显示1
string b = textBox6.Text;//获得"姓名"被修改;后的内容,赋值给b
string ba = textBox4.Text;//获得"部门"被修改;后的内容,赋值给BA
string bb = textBox2NO.Text;//获得"出生年月日"被修改后的内容,赋值给BB
string bc = textBox5.Text;//获得"电话号码"被修改后的内容,赋值给BC
int c = Convert.ToInt32(textBox3.Text);//获得学员ID

DialogResult choice = MessageBox.Show("确定要修改**?", "操作提示!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
try
{
if (choice == DialogResult.Yes)
{
int result = 0; //使用"b"得到的新值,更新数据库
string sql = string.Format("Update EmpInfo SET EmpName ='{0}',EmpDep = '{1}',EmpBirthday='{2}',EmpMobile='{3}' WHERE EmplD = {4}", b, ba, bb, bc, c);
DBHelpClass1.connection.Open();
SqlCommand Mycommand = new SqlCommand(sql, DBHelpClass1.connection);
result = Mycommand.ExecuteNonQuery();
if (result > 0)
{
MessageBox.Show("修改成功!!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//以下为从新再次填充表框
try
{
int empID = (int)dataGridView1.CurrentRow.Cells["ID"].Value;
string sqlA = string.Format("SELECT EmplD,EmpName,EmpDep,EmpBirthday,EmpMobile FROM EmpInfo WHERE EmplD={0}", empID);
SqlCommand command = new SqlCommand(sql, DBHelpClass1.connection);
DBHelpClass1.connection.Open();
SqlDataReader dataReader = command.ExecuteReader();//

if (!dataReader.HasRows)
{
MessageBox.Show("没有数据!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
while (dataReader.Read())
{
textBox3.Text = Convert.ToString(dataReader["EmplD"]);
textBox6.Text = Convert.ToString(dataReader["EmpName"]);
textBox4.Text = Convert.ToString(dataReader["EmpDep"]);
textBox2NO.Text = Convert.ToString(dataReader["EmpBirthday"]);
textBox5.Text = Convert.ToString(dataReader["EmpMobile"]);
}
}
dataReader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
DBHelpClass1.connection.Close();
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
DBHelpClass1.connection.Close();
}
}
...全文
180 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiong89 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fdh120 的回复:]

引用 2 楼 strife 的回复:
DBHelpClass1.connection.Open();
打开了两次,后面去掉
[/Quote]

好了!!!!
谢谢
以下散分
lvchun012 2010-12-20
  • 打赏
  • 举报
回复
楼上的已经说明白了哦
liqingtao1 2010-12-20
  • 打赏
  • 举报
回复

DBHelpClass1.connection.Open();
SqlCommand Mycommand = new SqlCommand(sql, DBHelpClass1.connection);
result = Mycommand.ExecuteNonQuery();
if (result > 0)
{
MessageBox.Show("修改成功!!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
//以下为从新再次填充表框



SqlCommand command = new SqlCommand(sql, DBHelpClass1.connection);
DBHelpClass1.connection.Open();
SqlDataReader dataReader = command.ExecuteReader();//




这里打开数据库以后没有关闭
导致下面报异常
不懂装懂 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 strife 的回复:]
DBHelpClass1.connection.Open();
打开了两次,后面去掉
[/Quote]
strife013 2010-12-20
  • 打赏
  • 举报
回复
DBHelpClass1.connection.Open();
打开了两次,后面去掉
xiong89 2010-12-20
  • 打赏
  • 举报
回复
帮我看看,是哪条错了,谢谢了!!!
不懂装懂 2010-12-20
  • 打赏
  • 举报
回复
问题都解决了,还不结帖
xiong89 2010-12-20
  • 打赏
  • 举报
回复
沉的好快呀!!这么快就差不多沉到低了--!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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