创建新的DbCommand时出错

fra*_*sMi 2 c# ado.net

我想创建一个新的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;
Run Code Online (Sandbox Code Playgroud)

这会产生错误

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

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

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

Jon*_*eet 5

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

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

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