执行SQL时出错
当我尝试执行下面的代码时,出现了以下错误。我还添加了我传递的SQL字符串。我错过了什么 错误: 查询表达式“TOURID”中出现语法错误(缺少运算符)= 25e5eed3-ea84-4c30-a660-2c880253da60' 我的问题是执行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
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子句)