1

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

  • tbl机器
  • 领域:
  • 机器ID
  • 机器描述

  • tbl问题

  • 字段
  • 问题ID
  • 机器ID
  • 问题描述

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

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

这是我的声明:

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

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

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

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

4

1 回答 1

1

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

String sql = "INSERT INTO tblProblem " + 
    "([MachineID], [ProblemDescription], [ProblemOrder])" +
    "SELECT tblMachine.[MachineID], @ProblemDescription, @ProblemOrder " +
    "FROM tblMachine " +
    "WHERE tblMachine.MachineDescription = @MachineDescription";
于 2013-06-19T16:41:58.930 回答