日期:2014-05-19  浏览次数:20741 次

执行“Alter table“报出” Syntax error in field definition“错误
代码片段如下:
for   (int   i   =   0;   i   <   ds.Tables[0].Rows.Count;   i++)
                {
                        string   temp   =   ds.Tables[0].Rows[i][0].ToString();
                        string   sql   =   "alter   table   mytable   add   "   +   temp   +   "   text ";
                        OleDbCommand   AlterCmd   =   new   OleDbCommand(sql,   AlterConn);
                        AlterCmd.ExecuteNonQuery();
                }
当执行到AlterCmd.ExecuteNonQuery();时出错。
经测试把temp改为i.ToString()后成功执行。出错时temp的值为”VC++ ",另外当temp为“asp.net”时也会出错。不知怎么解决,望赐教!

谢谢!

------解决方案--------------------
试试
string sql = "alter table mytable add [ " + temp + "] text ";


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html