Enterprise Library 方式 操作Access的Parameter

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)

資料庫不同,對應的型別也不一樣...