-1

私のテーブル(SQLデータベース内)が空かどうかを確認したいので、空の場合は、ユーザーが最初のユーザーを作成できるようにするボタンを配置できます...まあ、プログラムを使用できるようにします。

ユーザーにアカウントがないことを確認するにはどうすればよいですか?次に、IDが主キーであり、ユーザーごとに1つずつ増加するように設定されていることを念頭に置いて、新しいユーザーを追加するにはどうすればよいですか?アカウントを追加するときにそれを含める必要がありますか?

概要 = テーブルに何かを追加するにはどうすればよいですか + 追加するときに ID を含める必要がありますか、それとも無視してユーザー名やパスワードなどを追加するだけでよいでしょうか。

次に、テーブルが空かどうかを確認する方法

<<<<<基本的な考え方は今理解しましたが、このエラーだけが問題です>>>>>

   System.Data.SqlClient.SqlCommand CheckNone = new System.Data.SqlClient.SqlCommand(
            "SELECT COUNT(*) from Users",
            con);
            con.Open();

            System.Data.SqlClient.SqlDataReader Checkreader = CheckNone.ExecuteReader();
            if (Checkreader.Read())
            {
                if (0 != Checkreader.GetInt16(Checkreader.GetOrdinal("COUNT(*)")))
                {

エラーが発生します...このようなもの、indexoutofRangeException:COUNT()など、この行が間違っているためだと思います

具体的には COUNT という名前を試してみました COUNT(*)

4

4 に答える 4

3

私は一緒に行きます:

System.Data.SqlClient.SqlCommand CheckNone = new System.Data.SqlClient.SqlCommand(
        "IF EXISTS(SELECT * from Users) SELECT 1 ELSE SELECT 0",
        con);
        con.Open();

        var result = (int)CheckNone.ExecuteScalar();
        if (result==0)
        {
            //No users

これには、( を使用するよりも) 利点があります。COUNT(*)テーブルにデータ入力されると、サーバーにすべての行をカウントするように要求する必要がないということです。決定する)。

また、結果セットの最初の行の最初の列だけを気にする場合に、リーダーを開いてクリーンアップする必要がないという利点もあります。これExecuteScalarが構築されている理由です。

于 2013-05-24T06:52:41.120 に答える
0

これを試して

con.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from Users",con);

DataTable table = new DataTable();

adapter.Fill(table);

if(table.Rows.Count == 0)
{
    //table is empty.
}

SqlDataAdapter の

于 2013-05-28T06:08:43.003 に答える
-1

コードでユーザーテーブルを読み取ろうとします。このようなもの

注: これは疑似コードです。

If not isdbnull(dataobject("nameoffield")
'''Do certain code
'''Show Button
ELSE
'''The user has an ID
'''Dont show button
END IF

ID に関する限り、テーブルに ID 列を追加すると、自動的に生成されます。テーブルでは、次のように作成する必要があります。

列名 INT Identity(seed,increment)

于 2013-05-24T02:51:10.507 に答える