3

MS Accessデータベース(OLEDBプロバイダー)にMicrosoftEnterpriseライブラリのデータアプリケーションブロックを使用したい

エンタープライズライブラリを使用したパラメーターベースのINSERT機能が必要です(-database.params.Add( "@ EmpName"、this.EmpName);のようなパラメーターベースのコードを使用するSQLプロバイダーの場合と同じです)。

MSAccessデータベース接続にも同じことが必要です。

誰か教えてくださいどうすればいいですか?

前もって感謝します。

このコードは機能しますか?

SirDemon、説明ありがとうございます。SQLのINSERT、Update、Deleteに関連するすべてを知っています。MSACCESSと互換性が欲しい。わかりました、以下のコードは機能しますか?

string query = "INSERT INTO DB (EmployeeID, Name) VALUES (@EmployeeID, @Name)

Database db = DatabaseFactory.CreateDatabase();

DbCommand sqlCommand = db.GetCommandFromText(query);

db.AddInParameter(sqlCommand, "@EmployeeID", this.EmployeeID);
db.AddInParameter(sqlCommand, "@Name", this.Name);

この例はMSAccessデータベースで機能しますか。

4

1 に答える 1

3

SQLプロバイダーでSqlCommandを使用する場合と同じように、OleDbCommandを使用してパラメーターとクエリを設定できます。

OleDbCommandの概要

OleDbCommandクラスのメンバー

あなたの例を使用するには:

string query = "INSERT INTO DB (EmployeeID, Name) VALUES (@EmployeeID, @Name)"

Database db = DatabaseFactory.CreateDatabase();

DbCommand command = db.db.GetSqlStringCommand(query);
db.AddInParameter(command, "@EmployeeID", this.EmployeeID);
db.AddInParameter(command, "@Name", this.Name);
db.ExecuteNonQuery(command);

動作するはずです。

于 2010-07-26T05:50:35.360 に答える