2

新しい 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 つの引数を取らない

これらのコマンドを作成し、パラメーターを設定するにはどうすればよいですか?

4

2 に答える 2

5

通常、具体的なインスタンスを直接作成する (など) か、または を使用する必要があります。new SqlCommandIDbConnection.CreateCommand

どちらがあなたの状況に最も適しているかは明らかではありません。

呼び出しに関してはAdd、具体的なコマンド タイプを使用する場合は、より多くのオーバーロードを使用できる可能性があります。それ以外の場合は、おそらく を使用しIDbCommand.CreateParameter、プロパティを設定してから、パラメーター コレクションに追加することをお勧めします。

于 2012-05-01T16:36:33.107 に答える
0

新しい SQLParameter を作成し、それにすべてを追加する必要があります。次に、SQLParameter をパラメーターとして渡します。Parameters.Add は 1 つのパラメーターのみを受け取り、それが SQLParameter になると思います。

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

于 2012-05-01T16:37:25.743 に答える