fielddefinition上的语法错误

时间:2012-05-22 10:04:16

标签: c# sql

我正在尝试使用以下方法通过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();
    }

它以某种方式返回错误:“fielddefinition中的语法错误” 我做错了什么?

编辑:解决但仍然:我正在使用它进行访问

2 个答案:

答案 0 :(得分: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();
}

也许您的数据库认为您正在引用其他字段,而不是使用您输入的名称创建新字段。

答案 1 :(得分:0)

如果您使用的是SQL Server,请尝试:

_commandtext = "CREATE TABLE Users(" +
               "ID Integer PRIMARY KEY, " +
               "Username VARCHAR(20), " +
               "[Password] VARCHAR(25), " +
               "IBAN VARCHAR(18)" +
               ");";