记录未使用 javascript 正确插入到 ms 访问数据库中

Posted

技术标签:

【中文标题】记录未使用 javascript 正确插入到 ms 访问数据库中【英文标题】:Record is not getting inserted properly into ms access database using javascript 【发布时间】:2014-01-07 20:48:18 【问题描述】:

我正在尝试将一条记录插入到访问数据库中,并且下面的代码正在运行(它将数据插入到数据库中。)但是在最后一条记录之后没有插入数据,它在从最后的记录。 有人可以建议我,如何在最后一条现有记录之后插入新记录。 表 sheet1 有两个字段“SNO”和“Name”。

<script type="text/javascript">

function AddRecord() 
  var adoConn = new ActiveXObject("ADODB.Connection");
  var adoRS = new ActiveXObject("ADODB.Recordset");

  adoConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='F:\\insert.mdb'");
  adoRS.Open("Select * From sheet1", adoConn, 1, 3);
  adoRS.AddNew;
  adoRS.Fields("SNO").value = "1";
  adoRS.Fields("Name").value = "Someone";
  adoRS.Update;

  adoRS.Close();
  adoConn.Close();

</script>

<html>
<body>
<input name="button" type="button" onClick="AddRecord()" value="submit"/>
</body>
</html>

【问题讨论】:

你的表是自增的? 不,没有列是自动增量的。 “在最后一条记录的某些行之后”是什么意思?最后一条记录就是列表的最后一条,后面怎么会有“一些行”呢? @BolucPapuccuoglu:感谢您的评论。但是如果在表视图中打开access数据库后看到记录,则在最后一条现有记录与代码插入的最新记录之间有一些空白行。 @GuilhermeNascimento :感谢您的评论,没有按原样插入记录,但是如果您在表视图中打开访问数据库后看到记录,则最后一个现有之间有一些空白行记录和最新插入的代码。 【参考方案1】:

以前在 ADO 中存在一个错误,您必须在记录指针被刷新到磁盘之前移动它。尝试添加这一行。

  -- Ad line after update
  adoRS.MoveNext;

另外,您使用的是 MS Excel 工作簿吗? [sheet1] 的名称有点像赠品。

我重新创建了您的环境,减少了 MS Excel 电子表格中的链接。

它对我来说很好用。即使使用 .MoveNext() 代码。

放弃 Excel 工作表中的链接。

【讨论】:

是的,表格是一个带有一些 excel 表格的链接表格 能否请您先在数据库中添加一些记录,然后尝试使用脚本添加数据。 手动添加数据应该没有关系。手动添加4条记录,ASP程序添加3条记录...【参考方案2】:

它对我有用。

我相信这一点:

1- 或者您发布的代码不是导致失败的原因,并且其原始代码有一些“自动运行”(加载调用“插入函数”的页面)正在发送空值​​。

2- 或者你的 .MDB 的结构有问题。

注意:我知道列是什么,但有时你会做一些事情 错了,你设置了一些属性(可能是自动设置的)

【讨论】:

非常感谢您的建议,我相信我使用的是 Excel 工作表链接表,这可能会导致该问题。因为当我正常创建表时,它起作用了。再次感谢。 :) 当您有疑问时最好通过您已经测试并验证故障正在发生的代码,并将所有细节和彻底(查看书面文本)。这只是一个提示,以帮助您获得更好的答案。您使用 googleplus 或其他 Messenger 吗? 是的 GooglePlus.. 和 facebook.. :) 我确实提到要删除 excel 链接表?

以上是关于记录未使用 javascript 正确插入到 ms 访问数据库中的主要内容,如果未能解决你的问题,请参考以下文章

检索插入记录的 ID:Php & MS SQL SERVER

从 VB6 向 MS Access 插入订单

MS 访问查询未在 Excel 中正确运行

如何使用 ODBC 驱动程序仅从 MS Access 向 MySql 自动插入新记录?

大型记录集 (VBA) 的 MS Access 插入慢

从 SQL 服务器动态地将单个记录插入到 MS 访问中