PepareStatement 使用 MS Access,其中一些值来自不同的表

Posted

技术标签:

【中文标题】PepareStatement 使用 MS Access,其中一些值来自不同的表【英文标题】:PepareStatement using MS Access where some values come from a different table 【发布时间】:2012-07-19 22:49:04 【问题描述】:

我正在尝试使用 Servelts (PreparedStatement) 和 html 表单将数据插入 MS Access DB。

可以在 MS Acces 插入查询方面帮助我吗?我的要求是将表单值插入 MS Access,并且 insert 期间的字段之一必须来自不同的表。

所以我是这样的:

insert into tablename(Col1, col2, col3)
values(?,?, select col3 from diffferent_table where name=col1))

我可以这样写吗?我必须根据我为 Col1 获得的输入从不同的表中获取 col3 的值

有人可以帮忙吗。

【问题讨论】:

你试过了吗?它应该可以工作。 【参考方案1】:

这样做的一种方法是:

PreparedStatement insertStatement= connection.prepareStatement("insert into tablename(col1, col2, col3) values(?,?, select col3 from different_table where name = ?)");
//Then set your parameters accordingly. As per your requirement, the 1st and last paramter should've the same value

如果我是你,我会按照以下方式做一些事情:

PreparedStatement retrieveStatement= connection.prepareStatement("select col3 from diffferent_table where name=?");
PreparedStatement insertStatement= connection.prepareStatement("insert into tablename(col1, col2, col3) values(?,?, ?)");

//set the value
retrieveStatement.setXX(1,Col1);

然后,我将通过执行 retrieveStatement 从结果集中检索该值,并将该值设置在 insertStatement

如果您需要在将值从一个表插入另一个表时处理特定情况,第二个选项会有所帮助。 我想你可以按照这个来编写你自己的代码

【讨论】:

当然,没问题。希望这会有所帮助!

以上是关于PepareStatement 使用 MS Access,其中一些值来自不同的表的主要内容,如果未能解决你的问题,请参考以下文章

为啥 MS-Access 中的 Teradata 查询比 SQL Server 更快

“val_acc”根本没有改变

pyModbusTCP acc64 SUnSpec

在Keras中使用tensorboard可视化acc等曲线

如何防止最终用户在 MS Access 2010 应用程序中从前端查看后端数据?

剪映音频acc编码怎么设置