gpt4 book ai didi

c# - 查询表达式 ""中的语法错误(缺少运算符)

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:26 24 4
gpt4 key购买 nike

我在删除(DELETE)行时遇到问题。每次我在 string sql 中添加列名时,它都会显示错误“查询表达式中的语法错误(缺少运算符)”。这是我的代码:

OleDbConnection myCon = new OleDbConnection("provider = Microsoft.Jet.OLEDB.4.0;DataSource = '" + fileLocation + "'; Extended Properties=Excel 8.0;");
OleDbCommand myCmd = new OleDbCommand();

myCmd.Connection = myCon;

string sql = "DELETE * FROM [" + tablename + "$] where _date = '" + full_date + "'";

myCmd.CommandText = sql;
myCon.Open();

myCmd.ExecuteNonQuery();

myCon.Close();

例如我的 string sql 值是

“DELETE * FROM [Sheet1$] where _date = '03 09 2015'”

它会产生这个错误:

Syntax Error (missing operator) in query expression "_date = '03 09 2015'"

我在 excel 文件中插入数据时没有问题,但在删除时却出现此错误。

最佳答案

尝试使用它,即删除 *DELETE 语句不需要它:

string sql = "DELETE FROM [" + tablename + "$] where _date = '" + full_date + "'";

此外,您在 full_date 中获得的值似乎格式不正确。请检查您在 full_date 中获得的值是否符合您在表格中的格式。

旁注:

您的代码容易出现 SQL 注入(inject)。您需要使用准备好的语句来避免这种情况。

关于c# - 查询表达式 ""中的语法错误(缺少运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32369186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com