2
  public void KT1_Sprint3_GetGroupList()
    {
        string Query = 
                "SELECT name,alias,emailAdd FROM dbo.UserAccountDetailsList ua
                 WITH (NOLOCK) INNER JOIN dbo.UserTestType ut WITH (NOLOCK) ON
                 ua.UserTestTypeId = ut.UserTestTypeID WHERE ut.Code in 
                 ('Distribution','TestGroup') and ua.IsActive = 1";

        SQlOperation(Query);

        ??????
    }

クエリの数を取得する必要があります。別の SQL クエリを作成する必要がありますか?

4

6 に答える 6

3

countクエリで使用できます

select count(*) as row_count
from your_table ua
where ua.IsActive = 1
于 2012-09-22T11:36:32.243 に答える
1

返される行数が必要ですか? ResultSet をループすると、コード内のカウンターをインクリメントできます。

別のクエリアプローチの場合:

SELECT COUNT(*) FROM table AS ua WHERE ua.IsActive=1

于 2012-09-22T11:36:52.457 に答える
0

カウントが必要になる前にクエリを実行する場合は、返されたDataTableの行のカウントを確認するだけです。カウントに対して個別のクエリを実行する場合、クエリですべてのSQLロジックを繰り返さずにこれを実行する1つの方法は次のとおりです。

string CountQuery = @"
    SELECT COUNT(*)
    FROM
    (
        {0}
    ) x
".Format(Query);
于 2012-09-22T13:46:29.090 に答える
0

このクエリにより、行数 + 必要な行が得られます。

SELECT ua.COL_NAME,
(SELECT COUNT(*) FROM your_table) as count
FROM your_table ua
WHERE ua.IsActive = 1;
于 2012-09-22T11:38:13.000 に答える
0

次のように ur SQL ステートメントを変更できます。

SELECT Name, 
   (SELECT COUNT(*) FROM Table) AS count
FROM Table WHERE Status='URGENT';

次に、カウントも取得します。しかし、なぜこれが欲しいのですか?

于 2012-09-22T11:38:51.400 に答える
0

実際の SQL 呼び出しをカプセル化したためです。

SQlOperation(Query);

何を使ったかはわかりません。

データテーブルを使用した場合、それは

dt.rows.count();

データリーダーを使用している場合は、レコードをループするときに自分でカウントします。

あなたの意図は、カウントを個別に呼び出すことではないと思います。

于 2012-09-23T16:44:35.097 に答える