未处理的“System.StackOverflowException”类型的异常

kxyzjm62 2013-05-04 09:52:14
private void pictureBox4_MouseMove(object sender, MouseEventArgs e)
{

//连接数据库
try
{
string ddd;
//int d = 300;
ddd = "SELECT img FROM SZM WHERE id=" + e.X.ToString();
System.Data.OleDb.OleDbCommand oleCmd = new System.Data.OleDb.OleDbCommand(ddd);
oleCmd.CommandType = CommandType.Text;


OleDbConnection conn = new OleDbConnection();
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= \"D:\\数据库实验C#\\WindowsFormsApplication1\\WindowsFormsApplication1\\bin\\Debug\\SHZRT.mdb\"; Jet OLEDB:Database Password=kxyzjm1962526;";
conn.ConnectionString = connStr;
conn = new OleDbConnection(connStr);
oleCmd.Connection = conn;
conn.Open();
byte[] bytes = (byte[])oleCmd.ExecuteScalar();
MemoryStream ms = new MemoryStream(bytes);
this.pictureBox2.Image = Image.FromStream(ms);
Application.DoEvents();
oleCmd.Dispose();
conn.Close();
conn.Dispose();
ms.Dispose();
bytes = null;
}
catch
{

}


//连接数据库
}
当鼠标在pictureBox4上移动一会后,在红色的那句出现未处理的“System.StackOverflowException”类型的异常出现在 System.Data.dll 中。我知道是反复调用数据库造成了内存溢出,可是我要根据鼠标的位置从数据库中取出图像。如何解决这个问题?
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxyzjm62 2013-05-06
  • 打赏
  • 举报
回复
顶一下,多帮忙。
kxyzjm62 2013-05-05
  • 打赏
  • 举报
回复
按照一楼的方法修改了一下,有所改善,但还是会出现
gomoku 2013-05-05
  • 打赏
  • 举报
回复
引用 2 楼 kxyzjm62 的回复:
按照一楼的方法修改了一下,有所改善,但还是会出现
一楼的代码指出你问题出在那里。不是用来让你抄写的。 红色的那一行,很可能就是导致你StackOverflowException异常的原因。
gomoku 2013-05-04
  • 打赏
  • 举报
回复
this.pictureBox2.Image = Image.FromStream(ms); Application.DoEvents(); oleCmd.Dispose(); = new MemoryStream(bytes); Application.DoEvents()将检查当前的排队的Windows消息,并进行处理。 由于你的pictureBox4_MouseMove是个费时的操作,几乎肯定有另外一个MouseMove消息已经排队了。 DoEvents将处理MouseMove消息,并调用pictureBox4_MouseMove()。因此导致StackOverFlow:

pictureBox4_MouseMove()
{
  if (GetMessage() == WM_MOUSEMOVE) // Application.DoEvents
  {                                 //
     pictureBox4_MouseMove();       //
  }                                 //
}

110,536

社区成员

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

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

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