创建新的 DbCommand时出错

本文关键字:出错 DbCommand 创建 | 更新日期: 2023-09-27 18:33:01

我想创建一个新的 DbCommand,但得到一些错误:

DbCommand insertcommand = new DbCommand("insert into persons(firstname, lastname, email) values(?, ?, ?)", connection);
insertcommand.Parameters.Add(1, DbType.String, 50, "fistname");
insertcommand.Parameters.Add(2, DbType.String, 50, "lastname");
insertcommand.Parameters.Add(3, DbType.String, 100, "email");
dbAdapter.InsertCommand = insertcommand;

这会产生错误

无法创建抽象类或接口的实例 "System.Data.Common.DbCommand"

方法"Add"没有重载需要 4 个参数

我应该如何创建这些命令并填充参数?

创建新的 DbCommand时出错

您通常需要直接创建一个具体实例new SqlCommand等)或使用IDbConnection.CreateCommand

目前尚不清楚哪种最适合您的情况。

至于Add调用 - 如果您使用具体的命令类型,则很可能有更多的重载可供您使用。否则,您可能希望使用 IDbCommand.CreateParameter ,设置属性,然后将其添加到参数集合中。

您需要创建一个新的 SQLParameter 并将所有内容添加到其中。 然后,将 SQLParameter 作为参数传递。 我相信,Parameters.Add只包含一个参数,那就是你的SQLParameter。

http://msdn.microsoft.com/en-us/library/yy6y35y8(v=vs.80).aspx