【发布时间】:2020-10-11 18:00:32
【问题描述】:
我正在创建一个从 PLC 读取数据并将其写入数据库的应用程序。
在我的 GUI 中,用户可以选择他想登录数据库的数据,但我想知道如何解决这个问题。
有时用户只想在数据库中记录一项:
INSERT INTO myTabel (name_data1) VALUES ("123")
但其他时候我必须能够选择更多数据:
INSERT INTO myTabel (name_data1, name_data2, name_data3) VALUES ("123", "456", "789")
我将如何编码?我的数据库中的列名 name_data1, name_data2, name_data3, ... 应该能够根据选择的数据进行更改 为此,我使用了 2 个字符串的列表
["name_data1", "123"],
["name_data2", "456"],
["name_data3", "789"]
所以问题还在于我不知道插入数据时表会是什么样子,这完全取决于用户选择将哪些数据插入数据库
如果我是正确的,这称为创建动态列,但我似乎没有找到关于这个主题的太多信息。
【问题讨论】:
-
您将执行三个插入操作。
-
您不使用多列。您使用单个列,为批次生成标识符,并使用该批次 ID 执行 N 次插入,其中 N 是批次中的项目数。
-
有多少个选项/列可以选择用户?,10个选项,100个选项?。如果是固定数字,则使用单个 Insert 并仅传递相应的列值,其余的为 NULL。
标签: c# sql sql-insert