【发布时间】:2015-05-06 09:20:35
【问题描述】:
下面代码的问题是我从来没有看到我的catch 代码执行。如果我的 id 不存在,它会显示一个空的数据网格。出了什么问题?
private void btnSearch_Click(object sender, EventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
SqlConnectie vandaag = new SqlConnectie();
vandaag.Connection();
SqlDataAdapter sda = new SqlDataAdapter("select ID, VERSIE, SB, NAAM, M_DATUM, V_DATUM from RE1 where ID=" + tbRecept.Text, SqlConnectie.conn);
DataTable dt = new DataTable();
sda.Fill(dt);
dgvTemp.DataSource = dt;
SqlConnectie.conn.Close();
this.Cursor = Cursors.Default;
}
catch
{
MessageBox.Show("ID doesn't exist");
}
}
【问题讨论】:
-
从sql查询中接收不到结果不是错误,try catch用于捕获抛出的错误
-
你没有定义,你想捕捉什么。例如:
catch (Exception e)但这不会导致您的“问题”。查看蒂姆的答案 -
@JeremyC。那我应该用什么?
-
Tim Schmelter 在他的回答中所说的,在这种情况下根本不要使用 try catch,或者可能只是把它留在那里并让消息框显示错误代码(以防万一出现问题将来,比如数据库不可用)