插入状态中的 OleDbException 语法错误


static string connStrCheckData = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("test.xlsx") + ";Extended Properties=Excel 12.0;";
 
static string      oledbConnCheckData = new OleDbConnection(connStrCheckData);
string adsName ="MagMall.com - subscription savings on 1,000's of magazines";
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into  [sheet1$] ( [column1]) values ('" + adsName.ToString().Trim() + "')";
cmd.Connection = oledbConnCheckData;
oledbConnCheckData.Open();
cmd.ExecuteNonQuery();
oledbConnCheckData.Close();

Errro :查询表达式中的语法错误(缺少运算符("MagMall.com - 节省 1,000 本杂志的订阅费用"("。

当我尝试插入"MagMall.com - 1,000 本杂志的订阅节省"一词时,会出现上述错误。

正如 Juergen 所说,你必须摆脱单个撇号购买,添加一个额外的撇号:1,000's(不是 \'(。双撇号是传递语句的正确方式。

你必须像

这样1,000's逃离' 1,000's

最新更新