我用写了sql = "alert table " + str + " add " + fdName + " int(4)",用cmd.ExecuteNonQuery()执行,为什么会出现“OledbException:无效的SQl语句,期待'delete'、'insert'...”

解决方案 »

  1.   

    alter
    不是alert
      

  2.   

    cmd应该是只能执行DML语句。。人家都有在期待你呀,楼主还在等什么?
      

  3.   

    最好用格式
    string sql = "ALTER TABLE [{0}] add [{1}] {2}";//增加列
      

  4.   

    楼主以后可以在查询分析器中执行下sql文,对于出错的地方会有提示的,也方便看执行结果分析是否是所需的sql
      

  5.   

    sql = "alert table " + str + " add  " + fdName + " int  null ";//不能对数据类型 int 指定列宽
      

  6.   

    建议这样写
    sql = string.format("alert table {0} add {1} int null ",str,fdName);
    看起来清晰,也好调试
      

  7.   

    建议这样写 
    sql = string.format("alert table {0} add {1} int null ",str,fdName); 
    看起来清晰,也好调试
      

  8.   

    你用另外一个程序操作这个表,然后你同时执行alter语句来执行修改试试
      

  9.   

    估计与javascript中的alert混淆了,是alter