2012-05-01 4 views
2

Я хочу создать новую DbCommand, но получить некоторые ошибки:Ошибка при создании нового 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 аргумента

Как я должен создавать эти команды и заселение параметры?

ответ

5

Вы, как правило, должны либо создать конкретный экземпляр непосредственно (new SqlCommand и т. Д.), Либо использовать IDbConnection.CreateCommand.

Непонятно, что наиболее подходит для вашей ситуации.

Что касается вызовов Add - если вы используете конкретный тип команды, у вас может быть больше доступных перегрузок. В противном случае вы, вероятно, захотите использовать IDbCommand.CreateParameter, задайте свойства, а затем добавьте их в коллекцию параметров.

0

Вам необходимо создать новый SQLParameter и добавить все к этому. Затем передайте параметр SQLParameter в качестве параметра. Parameters.Add, по-моему, принимает только один параметр, и это будет ваш SQLParameter.

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

Смежные вопросы