我有一个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' –
并在最后分号。 –