Wie geht das?
Sollte überall gleich sein...
Diese Interfaces sind es was ein paar Klassen zu einem
ADO.Net Provider machen, nutzt du nur die hast du auch in .Net 1.1 einen Hauch von
DB-unabhängigkeit:
Code:
using(IDbConnection connection = new DeineConenctionClass("connectionstring"))
using(IDbCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT...WHERE X = :Y";
IDataParameter parameter = command.CreateParameter();
command.Parameters.Add(parameter);
parameter.PrameterName = "Y";
using(IdataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
...
}
}
}
Das hier...
Code:
using(IDbCommand command = connection.CreateCommand())
{
}
Wäre in Delphi:
Delphi-Quellcode:
var
command : IDbCommand;
begin
command := connection.CreateCommand()
try
finally
Dispose();
end;
end;
Nie das Dispose() vergessen! Wenn deine Komponenten Fnalizer besitzen, hast du zwar kein MemLeak, aber Finalizer in einem WebService sind alles andere als witzig. Haben sie keinen, hättest du ein MemLeak!