OLEDB DBase VI:字段定义中的语法错误

时间:2013-04-30 17:21:43

标签: c# oledb dbf dbase

我正在尝试创建一个DBF表,当我收到此错误“字段定义中的语法错误”。但是,语法没有任何问题,当我将某个列名从一个级别更改为级别时,它调试就好了!有谁有想法? 这是代码:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D://Temp;Extended Properties=dBase IV";

//MessageBox.Show(connectionString);

OleDbConnection connection = new OleDbConnection(connectionString);

connection.Open();

/* --------------------------  Filling The DBF Files ------------------------*/
 using (OleDbCommand cmd = connection.CreateCommand())
 {
   cmd.CommandText = @"CREATE TABLE clients(
               nbrclient   int             ,    
               level      varchar(1)      , 
               type        varchar(10)     ,
               name        varchar(80)     ,    
               name2       varchar(80)     ,    
               fname       varchar(50)     ,    
               vip         varchar(40)     ,
               langue     varchar(3)      , 
               salutations varchar(30)     ,
               gender      varchar(30)     ,
               title       varchar(30)    
                                        ) ";
    cmd.ExecuteNonQuery();
  }

3 个答案:

答案 0 :(得分:4)

等级可能是一个保留字。这在我尝试时起作用了:

[level]      varchar(1),

答案 1 :(得分:0)

尝试将VARCHAR类型替换为CHARACTER。

答案 2 :(得分:0)

是的,@ LarsTech你是绝对正确的,好消息是我找到了解决方法,使用() before and after the reserved word so instead of level等级passed with no problem at all Be careful not to confuse (') with ()。 谢谢大家的出色工作和建议