经典 ASP 和 ms-access:插入数据的问题

Posted

技术标签:

【中文标题】经典 ASP 和 ms-access:插入数据的问题【英文标题】:Classic ASP and ms-access: Issues with inserted data 【发布时间】:2013-05-23 17:23:02 【问题描述】:

我做了一个网页来在表单中插入信息。 Asp 页面检索此信息并将其插入到 ms-access 2007 数据库中。

在 access 数据库中有不同类型的变量,如日期、数字和字符串。这是从表单填写的数据的 ms-access 快照:(点击放大)

当我使用日期变量对数据库进行查询时,我没有问题。但是当我想使用字符串变量时我遇到了问题。

当我做一些 SQL 查询时:

SELECT table.name FROM table WHERE table.city="Barcelona"

我没有得到任何结果,并且有很多具有此值的条目。

如果我手动插入一个条目,然后执行相同的查询,我只会获得我添加的最后一行。

那么从asp页面输入的变量有问题……你知道是怎么回事吗?

【问题讨论】:

我相信使用图片可以帮助人们理解我想说的话,无论如何,我会编辑帖子。 @LittleBobbyTables 第一张图片不是代码,它是与这里的问题相关的表格方案。 为了帮助您,我们需要更多详细信息:您如何尝试连接数据库?你的连接字符串是什么?你的意思是“手动插入条目”?否则如何插入条目?添加这些详细信息后,请使用@ 进行通知,以便我可以查看并返回此处。 @ShadowWizard 当我说“手动插入条目”时,我的意思是打开 ms-access,单击所需的单元格并使用键盘输入值。我说“手动”是为了将此方法与 ASP 输入法区分开来。无论如何,厌倦了找不到问题,我将 ms-access 数据库迁移到了 mysql 数据库。我正确更改了连接字符串,现在一切正常。感谢您的帮助! 【参考方案1】:

当您从 SQL 查询字符串时,请使用:

SELECT table.name FROM table WHERE table.city='" & Variable & "'

" 的 SQL 查询将导致错误。如果您要运行确切的查询 SSMS(或其他),您会得到一个错误。

在你的具体例子中,你会写:

SELECT table.name FROM table WHERE table.city= 'Barcelona'

您的 SQL 应该使用 ' 而不是 "。在 ASP 中," 的解释也不同。

【讨论】:

感谢您的回复.. 但它不起作用。我可以发布一些有助于理解我的问题的图片吗? @MatiesPons 如果它没有解决问题,请不要标记为已接受,这会导致人们认为您的问题已解决,而实际上并没有解决。 你能澄清什么是“不工作”吗? @ShadowWizard 是正确的,如果我的回答没有正确解决您的问题,请不要标记为已接受。你能根据上面的指示弄清楚吗? @RogueSpear00 我无法检索以前使用 ASP 插入 ms-access 数据库的信息。数据似乎已正确插入,但是当我尝试进行查询时,返回了任何值。我只有字符串值才有这个问题,整数和日期就像一个魅力。正如我对 ShadowWizard 所说,我决定将数据库迁移到 mysql 上,所有问题都消失了。感谢您的宝贵时间。

以上是关于经典 ASP 和 ms-access:插入数据的问题的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET - VB.NET - 从 MS-Access 数据库中检索记录

将日期插入 Ms-Access 数据库的问题

尝试使用“插入”ms-access 数据库时出错

将文本框中的值插入 2 个不同的表 ms-access

使用 asp.net、vb.net 和 ms-access 的时间戳

使用 Oledb 对象插入 ms-access 查询获取无效查询异常