PDA

Ver la Versión Completa : Insertar con Ado


comba
13-02-2004, 16:45:10
Tengo una aplicación que se comunica con Sql Server através de Ado, hay una tabla con cerca de 500.000 registro que abro para poder insertar mas registro, el problema viene a la hora de abrir esa tabla, el tiempo de apertura puede ser eterno.
Por favor si alguien me pudiera ayudar diciendome como insertar registro con un AdoQuery lo agradeceria, así como otra forma de insertar registro sin abrir la tabla y sin procedimientos almacenados.

Un saludo Gracias

rafita
17-02-2004, 10:40:51
Muy buenas, te envío un ejemplo de un Insert y un Update contra SQL Server

SqlText:='INSERT INTO Citas (Id, FechaHora, IdTSoc, IdCSoc, IdZona, IdPersona, IdAtPublico, IdExpediente, Atendido) VALUES ('
+IntToStr(IdCitasSig)+', '+QuotedStr(DateToStr(FCita2.Date)+Chr(32)+Hora.Text)+', '+QuotedStr(TSoc2.Caption)+','
+QuotedStr('1')+', '+QuotedStr('1')+', '+XIdPersona.Caption+', '+XAtPublico.Caption+', '+NExpediente.Caption+', '+QuotedStr(YaAtendido.Caption)+')';
ADOQuery2.SQL.Add(SqlText);
try
ADOQuery2.ExecSQL;
{$I '.\includes\ExceptErrorBD.inc'}
end;

SqlText:='UPDATE Citas SET FechaHora='+QuotedStr(DateToStr(FCita2.Date)+Chr(32)+Hora.Text)+', IdTSoc='+QuotedStr(TSoc2.Caption)
+', IdCSoc=1, IdZona=1, IdPersona='+XIdPersona.Caption+', IdAtPublico='+XAtPublico.Caption+', IdExpediente='+NExpediente.Caption+', Atendido='+QuotedStr(YaAtendido.Caption)
+' WHERE Id='+QuotedStr(XIdCitas.Caption);
ADOQuery2.SQL.Add(SqlText);
try
ADOQuery2.ExecSQL;
{$I '.\includes\ExceptErrorBD.inc'}
end;

Como puedes ver siguen la sintáxis estándar de SQL.

Un saludo,