From: Fredrick Bartlett Date: October 6 2004 2:49pm Subject: Re: Better way to get all columns in the DataReader List-Archive: http://lists.mysql.com/dotnet/16 Message-Id: <001501c4abb3$c5224670$3c526e45@REGITLAP> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Not really a better way for DataReader. Don't forget to test for null... if(!Dr.IsDBNull(Dr.GetOrdinal("FirstName"))){ MemberDetail.FirstName = Dr.GetString(Dr.GetOrdinal("FirstName")); }else{ MemberDetail.FirstName = ""; } You might get better performance by Dr[0] etc. ----- Original Message ----- From: "Guy Platt" To: Sent: Wednesday, October 06, 2004 1:53 AM Subject: Better way to get all columns in the DataReader > There must a be a better way to get all the columns in a DataReader and > map them to a class than the way I am doing it. Can anyone help me > rewrite the following? > > Thanks > Guy > P.S. The code has been edited (including removing a check to see whether > the Dr returned any rows). > > > public class MemberDetail > { > public int MemberNrr; > public string FirstName; > public string LastName; > public string Password; > public string TelephoneNr; > public string MobileNr; > public string CancelDate; > } > > public static MemberDetail GetMemberDetails(int memberNr) > { > MySqlConnection myConn; > MySqlCommand myCmd = new MySqlCommand(); > MySqlDataReader Dr = null; > myConn = new > MySqlConnection(ConfigurationSettings.AppSettings["MySqlConnectionString"]); > > myConn.Open(); > myCmd.Connection = myConn; > myCmd.CommandText = "SELECT * FROM ppmr_members WHERE > ppmr_members.MembersNumber = " + memberid ; > Dr = myCmd.ExecuteReader(CommandBehavior.CloseConnection); > Dr.Read(); > > MemberDetail myMemberDetail = new MemberDetail(); > > myMemberDetail.MembersNumber = > Convert.ToInt32(Dr[Dr.GetOrdinal("MemberNr")]); > myMemberDetail.FirstName = > Dr[Dr.GetOrdinal("FirstName")].ToString(); > myMemberDetail.LastName = > Dr[Dr.GetOrdinal("LastName")].ToString(); > myMemberDetail.TelephoneNr = > Dr[Dr.GetOrdinal("Telephone")].ToString(); > myMemberDetail.MobileNr = > Dr[Dr.GetOrdinal("Mobile")].ToString(); > if (Dr[Dr.GetOrdinal("CancelDate")] != DBNull.Value) > myMemberDetails.CancelDate = > Dr[Dr.GetOrdinal("CancelDate")].ToString(); > else > myMemberDetail.CancelDate = String.Empty; > > > Dr.Close(); > myConn.Close(); > return myMemberDetail; > } > > > ---------------------------------------------------------------------------- ---- > -- > MySQL on .NET Mailing List > For list archives: http://lists.mysql.com/dotnet > To unsubscribe: http://lists.mysql.com/dotnet?unsub=palmtreefrb@stripped