Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行SQL时出错_Sql_Ms Access_Sql Delete - Fatal编程技术网

执行SQL时出错

执行SQL时出错,sql,ms-access,sql-delete,Sql,Ms Access,Sql Delete,当我尝试执行下面的代码时,出现了以下错误。我还添加了我传递的SQL字符串。我错过了什么 错误: 查询表达式“TOURID”中出现语法错误(缺少运算符)= 25e5eed3-ea84-4c30-a660-2c880253da60' 我的问题是 DELETE * FROM TOURS WHERE TOURID = 25e5eed3-ea84-4c30-a660-2c880253da60; 我的代码 Dim connectionString As String=“Provider=Microsoft

当我尝试执行下面的代码时,出现了以下错误。我还添加了我传递的SQL字符串。我错过了什么

错误:

查询表达式“TOURID”中出现语法错误(缺少运算符)= 25e5eed3-ea84-4c30-a660-2c880253da60'

我的问题是

DELETE * FROM TOURS WHERE TOURID = 25e5eed3-ea84-4c30-a660-2c880253da60;
我的代码

Dim connectionString As String=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\u Development\Data\filename.accdb;Persist Security Info=False;”
Dim DBConnection作为新系统.Data.OleDb.OleDbConnection(connectionString)
尝试
DBConnection.Open()
Dim cmd作为新的System.Data.OleDb.OleDbCommand(sql、DBConnection)
Dim sqlAdapterTOURS为新System.Data.OleDb.OleDbDataAdapter(cmd)
cmd.CommandType=CommandType.Text
cmd.ExecuteNonQuery()
特例
MessageBox.Show(例如Message)
最后
DBConnection.Close()
结束尝试

在使用这样的GUI时,您需要引用:

DELETE * 
FROM TOURS 
WHERE TOURID = '25e5eed3-ea84-4c30-a660-2c880253da60';
DELETE * FROM TOURS WHERE TOURID = '25e5eed3-ea84-4c30-a660-2c880253da60';

您的值应该用单引号括起来,如下所示:

DELETE * 
FROM TOURS 
WHERE TOURID = '25e5eed3-ea84-4c30-a660-2c880253da60';
DELETE * FROM TOURS WHERE TOURID = '25e5eed3-ea84-4c30-a660-2c880253da60';

猜测:您的GUID类型条目应该被引用,也许?:

DELETE FROM TOURS WHERE TOURID = '25e5eed3-ea84-4c30-a660-2c880253da60'

Access/Jet/ACE对GUID不太友好。迈克尔·卡普兰(Michael Kaplan)多年前就写过这篇文章:

根据上下文的不同,您可能需要使用VBA函数来处理GUID,即StringFromGUID()和GUIDFromString()。不过,我不确定在SQL上下文中必须做什么。我知道不能在两个GUID字段之间进行连接(必须使用隐式连接,即使用WHERE子句)