我做了什么: 我使用 OleDbAdapter 从数据库中读取数据,填充一个新的 DataTable。这很顺利。然后我想在该数据表中添加一列,这也很顺利。
我添加了一个 OleDbCommandBuilder,以使用多一列的 DataTable 更新数据库。我用 OleDbCommandBuilder 的“自动方式”进行了尝试,因为我认为我想要的很简单。但到目前为止,这并没有奏效。
我期望的 是 OleDbCommandBuilder 正在为我编写一个新的 SQL 命令,其中包含“UPDATE”或“INSERT”。我进一步希望,除了 SELECT 命令之外,我无法读取 OleDbAdapter 中的所有命令,因为 OleDbAdapter 在使用它们之前从构建器中获取命令。
我在互联网上读到过,如果我让适配器.Update(...) 调用,则不需要adapter.Fill(...)。但是没有 adapter.Fill(...) 我无法从数据库中获取内容。
终于有一个问题有了名字:
现在,在搜索问题后,我收到以下消息: System.Data.OleDbException:对于至少一个参数没有给出值。
我的问题:
1)我期望有什么问题吗?
2)哪个参数没有值?解决这帮助我理解:https : //docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlcommand.parameters?redirectedfrom=MSDN&view= netframework-4.7.2#System_Data_SqlClient_SqlCommand_Parameters
3) 适配器、构建器...是否按正确顺序放置?
4) 我有没有其他事情要做,比如调用一个函数来更新带有适配器的 SQL 命令?
5) 我怎样才能改进我解决这个问题的方式?例如:有没有什么事件可以帮助我更多地了解正在发生的事情?如何捕捉这样的事件?
提前谢谢了!
噜噜哒
相关分类