2011-08-23 40 views
0

我有一個表說emp,因爲我沒有任何值。如果我使用此查詢 在asp.net編碼「選擇EMP *」象下面這樣:如何知道Sql Server中的表中是否沒有值

con.Open(); 
String str="select * from emp where empname="Abdul"; 
cmd=new SqlCommand(str,con); 
SqlDataReader dr=new SqlDataReader(); 
while(dr.Read()) 
{ 
    textBox1.text=dr[0].ToString(); 
    textBox2.text=dr[0].ToString(); 
    textBox3.text=dr[0].ToString(); 
} 
con.Close(); 

在EMP表中,我沒有任何empname作爲阿卜杜勒,當我這樣做它應該顯示一些錯誤, 怎麼做?

回答

2

也許你的問題是你的代碼是錯誤,因爲你沒有在你創建的命令上執行DataReader。見下:

con.Open(); 
String str="select * from emp where empname="Abdul"; 
cmd=new SqlCommand(str,con); 
SqlDataReader dr=new SqlDataReader(); //WRONG. See my version below 
while(dr.Read()) 
{ 
    textBox1.text=dr[0].ToString(); 
    textBox2.text=dr[0].ToString(); 
    textBox3.text=dr[0].ToString(); 
} 

con.Close();

con.Open(); 
String str="select * from emp where empname="Abdul"; 
cmd=new SqlCommand(str,con); 
SqlDataReader dr=cmd.ExecuteReader(); //Correct way 
while(dr.Read()) 
{ 
    textBox1.text=dr[0].ToString(); 
    textBox2.text=dr[0].ToString(); 
    textBox3.text=dr[0].ToString(); 
} 
con.Close(); 
2

假設你在存儲過程中的工作,看看@@ROWCOUNT

否則,你得給我們提供更多的信息。你想在哪裏顯示這個錯誤?


對於那些不能按照鏈接,它提供了使用@@ ROWCOUNT檢查,如果一個UPDATE語句工作的例子。

USE AdventureWorks2008R2; 
GO 
UPDATE HumanResources.Employee 
SET JobTitle = N'Executive' 
WHERE NationalIDNumber = 123456789 
IF @@ROWCOUNT = 0 
PRINT 'Warning: No rows were updated'; 
GO 
+0

我在ASP.NET編碼中使用查詢(select * from emp)... –

3

爲什麼不只是做:

select count(*) from emp 

,看看你得到超過0的記錄?

0
CREATE TABLE #T (int_f int) 

SELECT 
    CASE WHEN EXISTS (
       SELECT 
       1 
       FROM #T) THEN 'yes' 
    ELSE 'No' 
END 
2

如果您查詢沒有行的表,它將只返回0行。它不會返回錯誤。

相關問題