我们有遗留数据作为 varchar 存储在 MSSQL 数据库中,即使数据实际上是二进制的。在新应用程序中,我们使用 OleDbCommand(因为我们试图使用通用代码来访问 MSSQL+Oracle+Sybase)数据库。
我可以通过执行以下操作从数据库中检索数据:
DA.SelectCommand.CommandText = "select
sequence_num, summary_num, line_num, CONVERT(varbinary, other_information) other_information
from alex_test_bin";
但是插入命令:
DA.InsertCommand.CommandText = "insert into alex2_test_bin
(sequence_num, summary_num, line_num, other_information)
values(?, ?, ?, CONVERT(varchar, ?))";
抛出此错误(它发生在 'DA.Update(DT);' 期间):
没有为一个或多个必需参数指定值。
目前我只是试图从 alex_test_bin 读取数据并将数据插入 alex2_test_bin。在读取和写入之间,我在 DT 的每一行上使用方法“SetAdded()”,以便插入所有这些行。
我的插入语句错了吗?有没有办法纠正它,并且能够在插入语句中使用函数?我成功地从 sql manager 手动运行了 insert 语句。