【发布时间】:2014-03-12 04:59:37
【问题描述】:
我正在尝试为我的持久层的类型化 DataSet 创建一个TableAdapter。我将从文件中读取信息,然后将其插入数据库中。
- 文件中的信息是序列号、VOCLevel、日期、时间、准确度。
- 我需要插入的信息是 MonitorID、VOCLevel、Date、Time、Accuracy。
SerialNumber 与数据库中的 MonitorID 相关。我试图在 Visual Studio 的 TableAdapter 配置向导中编写的插入是:
INSERT INTO VOCReading (MonitorID, Level, Date, Time, Accuracy)
VALUES( (SELECT MonitorID FROM Monitor WHERE SerialNumber= @SerialNumber), @Level, @Date, @Time, @Accuracy)
我得到的错误是
必须声明标量变量'@SerialNumber'
我该如何解决这个问题? SerialNumber 在Monitor 表中,但我需要插入的表是VOCReading。
【问题讨论】:
-
你的命令参数列表中有
@SerialNumber吗?另外,您的插入查询是错误的。 -
是的,我不小心输入了几次 SensorName 而不是 SerialNumber 几次,但这已得到修复。 SerialNumber 不是我要插入的表中的列。序列号来自 Arduino。但是,每个 SerialNumber 都直接映射到 MonitorID,它是 Monitor 表的主键。
标签: sql .net visual-studio sql-insert tableadapter