我正在尝试使用以下方法通过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中的语法错误” 我做错了什么?
编辑:解决但仍然:我正在使用它进行访问
答案 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)" +
");";