C# 如何检查我的查询是否在方法ExecuteOnQuery()中运行?

C# 如何检查我的查询是否在方法ExecuteOnQuery()中运行?,c#,sql,wcf,C#,Sql,Wcf,我想检查methode ExecuteOnQuery()中的查询是否正在运行。 以下是我在WCF服务中的代码: public string Execute(string query){ string connectionString = ConfigurationManager.ConnectionStrings["ConnWf"].ConnectionString; string hasil = "ERROR"; usi

我想检查methode ExecuteOnQuery()中的查询是否正在运行。 以下是我在WCF服务中的代码:

 public string Execute(string query){
            string connectionString = ConfigurationManager.ConnectionStrings["ConnWf"].ConnectionString;
            string hasil = "ERROR";
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();
                string cmdStr = String.Format(query);
                SqlCommand command = new SqlCommand(cmdStr, conn);
                command.Connection.Open();
                command.ExecuteNonQuery();

                //I want to check here..
                if (command.ExecuteNonQuery().HasRows) //it doesn't works :(
                {
                    hasil = "SUCCESS \n Row Affected: " + rd.RecordsAffected;

                }
                else
                {
                    hasil = "FAILED \n Row Affected: " + rd.RecordsAffected;
                }
                conn.Close();
            }
            return "Query: "+query+"\n Status: "+hasil;
        }
ExecuteNonQuery()
返回一个整数,该整数是受sql语句影响的行的总和。i、 e.如果SSM返回:

(614 row(s) affected)

(123 row(s) affected)
ExecuteNonQuery()
将返回737

所以你可以用这样的东西

try
{
    hasil = string.Format("Success \n Rows Affected: {0}", command.ExecuteNonQuery());
}

catch
{
    hasil = "Failed \n Rows Affected: 0";
}

您还应该考虑使用SQ/Load的<<代码>块以及SQLCONNECT.< /P> < P> <代码> ExtUnEngQuices()/Curr>返回一个整数,该整数将是SQL语句影响的行的总和。i、 e.如果SSM返回:

(614 row(s) affected)

(123 row(s) affected)
ExecuteNonQuery()
将返回737

所以你可以用这样的东西

try
{
    hasil = string.Format("Success \n Rows Affected: {0}", command.ExecuteNonQuery());
}

catch
{
    hasil = "Failed \n Rows Affected: 0";
}

您也应该考虑使用 < P>您可以在本地测试WCF服务,并且可以确认<代码> ExcuteNoQuices()/代码>工作

int result = command.ExecuteNonQuery();

结果将显示受ExecuteOnQuery()影响的行数。

您也可以在本地测试WCF服务,并确认
ExecuteOnQuery()
正在工作

int result = command.ExecuteNonQuery();

结果将显示受ExecuteOnQuery()影响的行数。

谢谢,它可以工作。关于我的问题,我还有一个问题,您可以在
string cmdStr=string.Format(query)上看到
我想把
查询
放在
选择
插入
之类的地方,为什么它不能运行该查询而只执行存储过程?再次感谢:)更新:很抱歉,当我尝试从我的表中运行
select*时,它显示-1,但在我的数据库管理中,它显示
(受影响的10行)
为什么我的成功报告中没有显示
10
?对不起,我的答案不清楚,这只返回受插入/删除/更新影响的行,而不是select。为什么要对select语句使用ExecuteNonQuery()?如果您需要知道满足特定条件的行数,请使用
COUNT
ExecuteScalar()
是的,当我使用它进行插入、删除和更新时,它会显示受影响的行。但是没关系,我只想检查如果使用select:)会发生什么。非常感谢,它很有效。关于我的问题,我还有一个问题,您可以在
string cmdStr=string.Format(query)上看到
我想把
查询
放在
选择
插入
之类的地方,为什么它不能运行该查询而只执行存储过程?再次感谢:)更新:很抱歉,当我尝试从我的表中运行
select*时,它显示-1,但在我的数据库管理中,它显示
(受影响的10行)
为什么我的成功报告中没有显示
10
?对不起,我的答案不清楚,这只返回受插入/删除/更新影响的行,而不是select。为什么要对select语句使用ExecuteNonQuery()?如果您需要知道满足特定条件的行数,请使用
COUNT
ExecuteScalar()
是的,当我使用它进行插入、删除和更新时,它会显示受影响的行。。但是没关系,我只想检查如果使用select:)会发生什么。非常感谢