0

次の方法を使用して、C# を使用してデータベースにテーブルを作成しようとしています。

    private static void CreateTables()
    {
        _commandtext = "CREATE TABLE Users(" +
                        "ID Integer PRIMARY KEY, " +
                        "Username Text(20), " +
                        "Password Text(25), " +
                        "IBAN Text(18)" +
                        ");";
        _command = new OleDbCommand(_commandtext, _connection);

        _connection.Open();

        int number = _command.ExecuteNonQuery();  <<< Error

        _connection.Close();
    }

どういうわけか、「フィールド定義の構文エラー」というエラーが返されます。何が間違っていますか?

編集:解決しましたが、それでも:これをAccessに使用しています

4

2 に答える 2

3

名前の前後に角かっこを追加してみましたか?

private static void CreateTables()
{
    _commandtext = "CREATE TABLE [Users](" +
                    "[ID] Integer PRIMARY KEY, " +
                    "[Username] Text(20), " +
                    "[Password] Text(25), " +
                    "[IBAN] Text(18)" +
                    ");";
    _command = new OleDbCommand(_commandtext, _connection);

    _connection.Open();

    int number = _command.ExecuteNonQuery();  <<< Error

    _connection.Close();
}

DBは、入力した名前で新しいフィールドを作成するのではなく、他のフィールドを参照していると見なしている可能性があります。

于 2012-05-22T10:06:56.250 に答える
0

SQL Serverを使用している場合は、次のことを試してください。

_commandtext = "CREATE TABLE Users(" +
               "ID Integer PRIMARY KEY, " +
               "Username VARCHAR(20), " +
               "[Password] VARCHAR(25), " +
               "IBAN VARCHAR(18)" +
               ");";
于 2012-05-22T10:08:07.407 に答える