>>public class MyDataAccess >>{ >> #region Declarations >> >> private IDbConnection oConnection; >> private IDbCommand oCommand; >> private IDbDataAdapter oAdapter; >> private IDataParameterCollection oParms; >> public string ConnectionString = ""; >> protected string ErrorMessage = ""; >> >> #endregion >> >> #region Constructor/Destructor >> >> public MyDataAccess() >> { >> MyConnection o = new MyConnection(); >> this.oConnection = o.GetConnection(); >> this.ConnectionString = o.ConnectionString; >> >> this.oCommand = this.GetIDbCommand(); >> this.oAdapter = this.GetIDbDataAdapter(this.oCommand); >> this.oCommand.Connection = this.oConnection; >> this.oCommand.CommandType = CommandType.StoredProcedure; >> } >> >> #endregion >> >> #region Get/Use IDb Interface Objects >> >> protected IDbCommand GetIDbCommand() >> { >> return new SqlCommand(); >> } >> protected IDbDataAdapter GetIDbDataAdapter(IDbCommand command) >> { >> return new SqlDataAdapter((SqlCommand)command); >> } >> protected IDbDataParameter GetIDbDataParameter(string ParmName, object ParmValue) >> { >> return new SqlParameter(ParmName, ParmValue); >> } >> protected void DeriveParameters(IDbCommand command) >> { >> SqlCommandBuilder.DeriveParameters((SqlCommand)command); >> } >> #endregion >> >> // Then there are the various protected methods for adding and setting Parameters, filling a DataSet, etc. >> // It's these various methods that get used in the classes that are sub-classed from this "base" class. >> // Here's just a few of them: >> >> protected void ClearParameters() >> { >> this.oCommand.Parameters.Clear(); >> this.ErrorMessage = ""; >> } >> >> protected void AddParms(string ParmName, object ParmValue) >> { >> try >> { >> if (ParmName.StartsWith(this.AtSign) == false) >> ParmName = this.AtSign + ParmName; >> >> if (ParmValue != DBNull.Value) >> this.oCommand.Parameters.Add(this.GetIDbDataParameter(ParmName, ParmValue)); >> } >> catch (Exception ex) >> { >> this.ErrorMessage += ex.Message; >> } >> } >> protected void AddParms(string ParmName, object ParmValue, ParameterDirection direction) >> { >> this.AddParms(ParmName, ParmValue); >> this.SetParmDirection(ParmName, direction); >> } >> protected bool FillData(DataSet ds, string StoredProcName) >> { >> try >> { >> this.oCommand.CommandText = StoredProcName; >> this.oAdapter.Fill(ds); >> } >> catch (Exception ex) >> { >> this.ErrorMessage += ex.Message; >> this.CloseConnection(); >> return false; >> } >> return true; >> } >> >>} >>>>
>>public class PersonsAccess : MyDataAccess >>{ >> #region Public Get Methods >> >> public DataSet GetPersonsOnReport(ref string Message, string ReportNumber, string Supplement) >> { >> PersonDataSet ds = new PersonDataSet(); >> >> this.ClearParameters(); >> this.AddParms("ReportNumber", ReportNumber); >> this.AddParms("Supplement", Supplement); >> this.FillData(ds, "csp_Persons_Get"); >> >> return ds; >> } >> >> // more methods >> >> #endregion >>} >>>>
>>>DataSet ds; >>>DataTable dt; >>>DataRow dr; >>>SqlDataAdapter oDataAdapter; >>>int lnRecords; >>> >>>ds = new DataSet(); >>>this.map_ConnectToData(); >>> >>>oDataAdapter = new SqlDataAdapter(); >>>oDataAdapter.SelectCommand = new SqlCommand("map_rlb_Logins_validate", this.oConnection); >>>oDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure ; >>> >>>oDataAdapter.SelectCommand.Parameters.Add("@tcUserID",SqlDbType.Char, 20).Value = tcLoginID; >>>oDataAdapter.SelectCommand.Parameters.Add("@tcPassword",SqlDbType.Char, 20).Value = tcPassword; >>>lnRecords = oDataAdapter.Fill(ds, "cData"); >>> >>>MessageBox.Show(lnRecords.ToString()); >>> >>>dt = ds.Tables["cData"]; >>>dr = ds.Tables[0].Rows[0]; >>> >>>MessageBox.Show(dr["cuserid"].ToString()); >>>>>>