/// <summary> /// An object to cache the parameterized query for full name queries. /// </summary> public GreyFoxContact FindByFullName(string fullName, bool placeHolderOnly) { StringBuilder query; Database database; DbCommand dbCommand; IDataReader r; GreyFoxContact c; // create a new contact to parse a name into. c = new GreyFoxContact(tableName); c.ParseName(fullName); query = new StringBuilder(); query.Append("SELECT "); if (placeHolderOnly) { query.Append(InnerJoinFields[0]); } else { query.Append(string.Join(",", InnerJoinFields)); } query.Append(" FROM "); query.Append(tableName); query.Append(" WHERE FirstName=@FirstName AND " + "MiddleName=@MiddleName AND " + "LastName=@LastName AND " + "Suffix=@Suffix;"); database = DatabaseFactory.CreateDatabase(); dbCommand = database.GetSqlStringCommand(query.ToString()); addParameter(database, dbCommand, "FirstName", DbType.String, c.firstName); addParameter(database, dbCommand, "MiddleName", DbType.String, c.middleName); addParameter(database, dbCommand, "LastName", DbType.String, c.lastName); addParameter(database, dbCommand, "Suffix", DbType.String, c.Suffix); r = database.ExecuteReader(dbCommand); if (r.Read()) { if (placeHolderOnly) { c = GreyFoxContact.NewPlaceHolder(tableName, r.GetInt32(0)); } else { c = GreyFoxContactManager.ParseFromReader(tableName, r, 0, 1); } } return(c); }
public GreyFoxContact FindByBusinessName(string businessName, bool placeHolderOnly) { StringBuilder query; Database database; DbCommand dbCommand; IDataReader r; GreyFoxContact c; query = new StringBuilder(); query.Append("SELECT "); if (placeHolderOnly) { query.Append(InnerJoinFields[0]); } else { query.Append(string.Join(",", InnerJoinFields)); } query.Append(" FROM "); query.Append(tableName); query.Append(" WHERE BusinessName=@BusinessName;"); database = DatabaseFactory.CreateDatabase(); dbCommand = database.GetSqlStringCommand(query.ToString()); addParameter(database, dbCommand, "BusinessName", DbType.String, businessName); r = database.ExecuteReader(dbCommand); if (r.Read()) { if (placeHolderOnly) { c = GreyFoxContact.NewPlaceHolder(tableName, r.GetInt32(0)); } else { c = GreyFoxContactManager.ParseFromReader(tableName, r, 0, 1); } } else { c = new GreyFoxContact(tableName); c.BusinessName = businessName; } return(c); }