det som känns fel är att jag samlar parametrarna i en otypad arraylist (jag har inte ens vågat testköra om koden funkar!) :l
så, hur skulle ni gjort? :)
List<IDbParameter> ParameterList = new List<IDbParameter>()
Då är din lista typsäker, samt att om du vill ändra från Sql till MySql så slipper du tänka på din lista eftersom den tar emot Interfacet och inte själva typen. Nu vet jag inte om den heter IDbParameter eller IParameter eller IDataParameter, men du hittar den säkert.
Det jag kan tycka vara lite förvirrande med detta är att IDataParametern tillåter en sqlparameter som värde.
Jag får nog ta och läsa på lite om gränssnitt över julen! :)
Hmm, jag är fortfarande ute och svävar i det blå när när det gäller det här. Jag har ungefär samma.
Jag kör ju med en IList för att binda datan till mina objekt. iDataParameter är ju typoberoende om jag förstått det rätt. Dvs du kan stoppa in vilken jäkla parameter som helst i den funktionen. Så länge din GetTable använder sig av SqlParameter så är det lugnt. Det jag hade gjort om jag var du vore att kolla vilken typ av parameter det är den ska lägga till något i stil med följande så att din kod blir ännu mer återanvändningsbar
public void AddInParameter(string ParamName, SqlDbType DbType, object Value)
{
if (_parameterList == null)
_parameterList = new List<IDataParameter>();
{
if (DbType.Equals(typeof(SqlDbType)))
{
SqlParameter param = new SqlParameter(ParamName, DbType);
param.Direction = ParameterDirection.Input;
param.Value = Value;
_parameterList.Add(param);
}
}
}
Vet inte om det blir det bästa och det är otestat men om du gör på det viset från början kommer du lätt kunna byta ut datakällor i framtiden.
Mm, det har du helt rätt i! :)
Jag måste också bygga om min GetTable-metod, för nu är den låst på sqlserver.
Man skulle kanske ha ett huvud-DAL och sedan ärva ner det i ett sql-DAL (om det är sql man använder) eller i ett oracle-DAL osv. för att slippa hundra if-satser? Eller? :stud
Man skulle kanske ha ett huvud-DAL och sedan ärva ner det i ett sql-DAL (om det är sql man använder) eller i ett oracle-DAL osv. för att slippa hundra if-satser? Eller? :stud
Errm jo det förstås! Det blir ju inte så snyggt med en massa if-satser.
279 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25