2011-08-24 48 views
2

我有一个表说emp,因为我没有任何值。如果我使用此查询在asp.net编码中包含“选择EMP *”:如何从数据库中获取数据时出错信息,但没有值

con.Open(); 
String str="select * from emp where empname='Abdul'"; 

cmd=new SqlCommand(str,con); 
SqlDataReader dr=cmd.ExecuteReader(); 

while(dr.Read()) 
{ 
    textBox1.text=dr[0].ToString(); 
    textBox2.text=dr[0].ToString(); 
    textBox3.text=dr[0].ToString(); 
} 

con.Close(); 

在EMP表中,我没有任何empname作为阿卜杜勒,当我这样做,它应该表现出一些错误,怎么做?

回答

4

做这样的事情:

if (dr == null || !dr.HasRows) 
{ 
//NO record found 
    lblError.Text ="No Records Found!"; 
} 
else 
{ 
//Record Found SUCCESS! 
while(dr.Read()) 
{ 
    textBox1.text=dr[0].ToString(); 
    textBox2.text=dr[0].ToString(); 
    textBox3.text=dr[0].ToString(); 
} 

} 

问候

1

不,它不显示任何错误,因为只有在查询中有一些结果时才输入while。

我会使用if/else,如果DataReader没有内容,因为没有找到结果,我会通知用户或在UI中显示某些内容,具体取决于应用程序类型和您的确切需求。

+0

你能告诉我怎么做那个? –

+0

看到从BizApps以上的其他答案,并表决他的解决方案:) –

+0

我投了他,但它显示投票需要15名声誉...... –

0

你可以从一个SqlDataAdapter在加载数据到一个DataSet,并使用以下命令:

if (DataSet.Tables[0].Rows.Count <=0) 
{ 

} 
相关问题