我正在尝试在access2007DB中做一个简单的select:

sqlSelect = "select * from Datos_De_Quejas where Ape_Pax = " & textape.Text & " " 
RS.Open sqlSelect, cnn, adOpenStatic, adLockOptimistic

该表被称为 Datos_De_Quejas, ,列 Ape_Paxcnn 是连接。

我检查了拼写100次,它看起来正确,但它给了我以下错误。

没有给出一个或多个必需参数的值

下面的select在相同的过程中工作得很好:

sqlSelect = "select * from Datos_De_Quejas where ID = " & textnro.Text & " "
RS.Open sqlSelect, cnn, adOpenStatic, adLockOptimistic

我看不出我做错了什么。谢谢!

有帮助吗?

解决方案

我会猜测ID是一个整数字段,而Ape_Pax是一个varchar。

试试:

 "select * from Datos_De_Quejas where Ape_Pax = '" & textape.Text & "' " 

用单引号。

此外,构建这样的SQL语句-特别是当与来自用户输入字段的文本一起使用时-是一个非常糟糕的主意。使用参数化查询("select*from Datos_De_Quejas where Ape_Pax=?")并将文本作为参数传递。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top