【问题标题】:OLEDB DBase VI :Syntax error in field definitionOLEDB DBase VI:字段定义中的语法错误
【发布时间】:2013-05-02 17:05:03
【问题描述】:

当我收到此错误“字段定义中的语法错误”时,我正在尝试创建 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();
  }

【问题讨论】:

    标签: c# oledb dbf dbase


    【解决方案1】:

    Level 可能是一个保留字。这在我尝试时有效:

    [level]      varchar(1),
    

    【讨论】:

      【解决方案2】:

      尝试将 VARCHAR 类型替换为 CHARACTER。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-15
          • 1970-01-01
          相关资源
          最近更新 更多