2014-05-21 109 views
-1

我有一個SQL查詢。只是我想檢查查詢返回值或不使用C#。任何人都可以幫助解決這個問題。提前致謝。如何檢查sql查詢是否返回值?

Sqlcommand cmd = new Sqlcomman("select Name from Engdetails",con) 

if (query != 0) 
{ 
    some coding.. 
} 
else 
{ 
    coding... 
} 
+0

這會是很好,如果你張貼實際上編譯,所以我們可以看到你是一個有效的解決方案是如何緊密有效的代碼。 –

+0

它mut是一個非複製粘貼錯誤,但你忘記了SqlCommand上的'd' –

+0

並在最後分號。 –

回答

2
Sqlcommand cmd = new Sqlcomman("select Name from Engdetails",con) 

SqlDataReader reader = cmd.ExecuteReader(); 

if (reader.Read()) 
{ 
    // The command returns Row(s) 
} 
else 
{ 
    // No Row has been returned. 
} 
+0

非常感謝你們。我真的很喜歡你的快速反應。 – user2842413

0

有多種方式與SqlCommand的工作;一些例子:

using (SqlDataReader reader = cmd.ExecuteReader()) 
{ 
    if (reader.HasRows) 
    { 
    reader.Read(); 
... 

using (SqlCommand cmd = new SqlCommand(query, connection)) 
{ 
    using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) 
    { 
     adapter.Fill(data); 
    } 

,如果它有數據,該數據將在data.Tables

+0

'reader.HasRows'是多餘的。根據是否有一行可用,「Read()」將返回「true」或「false」。 –

+0

.HasRows將返回是否有任何行要讀取而不移動讀取指針,該讀取指針將執行.Read()將執行的操作。我會授予你通常reader.Read()將在while循環中,但.HasRows回答海報問題。 – tooslow

+0

執行你無條件地調用'reader.Read()'if語句的第一行。我在說用if(reader.Read())'替換'if(reader.HasRows){reader.Read()'。 –

0

一個例子在此情況下rdr.GetString是該查詢的名稱值。

using (MySqlConnection conn = new MySqlConnection(constr)) 
{ 
    using (MySqlCommand cmd = new MySqlCommand()) 
    { 
     MySqlDataReader rdr = null; 


     string[] dados_bd = new string[2]; 

     conn.Open(); 
     cmd.Connection = conn; 
     cmd.CommandText = sql; 

     rdr = cmd.ExecuteReader(); 
     while (rdr.Read()) 
      { 
       if (estado == 1) 
       { 

        dados_bd[0] = rdr.GetString(0); 
0
SqlCommand cmd = new SqlCommand("select Name from Engdetails", con); 
int i = cmd.ExecuteNonQuery(); 
if (i > 0) 
{ 
    // somecoding 
} 
else 
{ 
    // somecoding 
} 
相關問題