我有一個SQL查詢。只是我想檢查查詢返回值或不使用C#。任何人都可以幫助解決這個問題。提前致謝。如何檢查sql查詢是否返回值?
Sqlcommand cmd = new Sqlcomman("select Name from Engdetails",con)
if (query != 0)
{
some coding..
}
else
{
coding...
}
我有一個SQL查詢。只是我想檢查查詢返回值或不使用C#。任何人都可以幫助解決這個問題。提前致謝。如何檢查sql查詢是否返回值?
Sqlcommand cmd = new Sqlcomman("select Name from Engdetails",con)
if (query != 0)
{
some coding..
}
else
{
coding...
}
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.
}
非常感謝你們。我真的很喜歡你的快速反應。 – user2842413
有多種方式與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
'reader.HasRows'是多餘的。根據是否有一行可用,「Read()」將返回「true」或「false」。 –
.HasRows將返回是否有任何行要讀取而不移動讀取指針,該讀取指針將執行.Read()將執行的操作。我會授予你通常reader.Read()將在while循環中,但.HasRows回答海報問題。 – tooslow
執行你無條件地調用'reader.Read()'if語句的第一行。我在說用if(reader.Read())'替換'if(reader.HasRows){reader.Read()'。 –
一個例子在此情況下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);
SqlCommand cmd = new SqlCommand("select Name from Engdetails", con);
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
// somecoding
}
else
{
// somecoding
}
這會是很好,如果你張貼實際上編譯,所以我們可以看到你是一個有效的解決方案是如何緊密有效的代碼。 –
它mut是一個非複製粘貼錯誤,但你忘記了SqlCommand上的'd' –
並在最後分號。 –