Enterprise Library 方式 操作Access的Parameter
在Enterprise Library ,用SqlParameter 傳遞參數做法
像這樣
/// <summary>
/// Enterprise Library版本的Query
/// </summary>
/// <param name="SQLString">SqlCommandString</param>
/// <param name="cmdParms">SqlParameter[]</param>
/// <returns></returns>
public DataSet Query(string SqlStr, params SqlParameter[] cmdParms)
{
DataSet ds = new DataSet();
Database db = Get_GenericDatabase( Set_DB_Type);
DbCommand dbCommand = db.GetSqlStringCommand(SqlStr.ToString());
try
{
foreach (SqlParameter parameter in cmdParms)
{
if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
dbCommand.Parameters.Add(parameter);
}
ds = db.ExecuteDataSet(dbCommand);
return ds;
}
catch (Exception )
{
return ds;
}
}
但是要在ACCESS的資料庫中使用,用SqlParameter 的型別是不行的 XD.......
要用 OleDbParameter 這種型別
ex:
public int ExecuteSql(string SqlStr, params OleDbParameter[] cmdParms)
資料庫不同,對應的型別也不一樣...