尝试通过 SQL 从另一个表中获取 ID 插入访问数据库 [英] Trying to insert into access database via SQL getting ID from another table

查看:65
本文介绍了尝试通过 SQL 从另一个表中获取 ID 插入访问数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Access 数据库中有 2 个表:

I have 2 tables in an Access database:

  • tblMachine
  • 字段:
  • 机器 ID
  • 机器描述

  • tblMachine
  • fields:
  • MachineID
  • MachineDescription

tblProblem

我正在尝试向 tblProblem 添加一条新记录,使用 MachineDescription 从 tblMachine 中查找 MachineID

I am trying to add a new record into tblProblem, using the MachineDescription to find the MachineID from tblMachine

但是,我的 SQL 语句在 sub-select 语句上抛出错误

However, my SQL statement throws an error on the sub-select statement

这是我的声明:

string sql = "INSERT INTO tblProblem" +
                " ([MachineID], [ProblemDescription], [ProblemOrder])" +
                " VALUES (" + 
                "(SELECT ([MachineID] FROM tblMachine WHERE MachineDescription = @MachineDescription))," +
                " @ProblemDescription, @ProblemOrder);";

突出显示的问题是这部分:

The problem being highlighted is this part:

"(SELECT ([MachineID] FROM tblMachine WHERE MachineDescription = @MachineDescription)),"

我做错了吗?它告诉我有一个语法错误...

Have I done something wrong? It is telling me there is a syntax error...

推荐答案

额外的一组括号,可能还有不合格的字段名称:

Extra set of parentheses, and perhaps unqualified field names:

String sql = "INSERT INTO tblProblem " + 
    "([MachineID], [ProblemDescription], [ProblemOrder])" +
    "SELECT tblMachine.[MachineID], @ProblemDescription, @ProblemOrder " +
    "FROM tblMachine " +
    "WHERE tblMachine.MachineDescription = @MachineDescription";

这篇关于尝试通过 SQL 从另一个表中获取 ID 插入访问数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆