Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Cómo ejecutar SQL insertar registros con Delphi en Access
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Cómo ejecutar SQL insertar registros con Delphi en Access

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Cómo ejecutar SQL insertar registros con Delphi en Access Responder citando

Estoy utilizando Borland Delphi 6 para realizar una aplicación de facturación y contabilidad que utiliza como base de datos Microsoft Access (mdb), utilizando el método de conexión por ODBC como indica el siguiente artículo de esta web:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=139

Explica cómo hacerlo con un TTable para insertar y mostrar registros con controles enlazados, pero ¿se pueden insertar registros con una sentencia SQL "insert into"? ¿se pueden ejecutar consultas con sentencias SQL "select"? ¿se puede modificar la estructura de las tablas o crear tablas con "create table" o "alter table?
MensajePublicado:
Mie Dic 16, 2009 7:39 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Cómo ejecutar SQL insertar registros con Delphi en Acces Responder citando



Anuncios



varios escribió:
Estoy utilizando Borland Delphi 6 para realizar una aplicación de facturación y contabilidad que utiliza como base de datos Microsoft Access (mdb), utilizando el método de conexión por ODBC como indica el siguiente artículo de esta web:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=139

Explica cómo hacerlo con un TTable para insertar y mostrar registros con controles enlazados, pero ¿se pueden insertar registros con una sentencia SQL "insert into"? ¿se pueden ejecutar consultas con sentencias SQL "select"? ¿se puede modificar la estructura de las tablas o crear tablas con "create table" o "alter table?


Sí que puedes ejecutar sentencias SQL desde Delphi para obtener o modificar datos de Access, incluso podrás ejecutar consultas SQL de tipo DDL (definición de datos), es decir, podrás ejecutar consultas del tipo CREATE TABLE o ALTER TABLE y también, por supuesto, consultas DML (manipulación de datos) del tipo INSERT, UPDATE, SELECT.

Para insertar un registro en una tabla mediante SQL desde Delphi conectado por ODBC a Microsoft Access sigue los pasos del manual que indicas y añades un TQuery, lo enlazas con el TDatabase mediante la propiedad "DatabaseName" y puedes hacerlo por código (tiempo de ejecución) o en tiempo de diseño. Lo lógico es hacerlo por código con algo así:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('insert into facturas (descripcion) values (:pValor)');
  Query1.ParamByName('pValor').DataType := ftString;
  Query1.ParamByName('pValor').AsString := 'Prueba inserción con SQL y Delphi en Microsoft Access mdb';
  Query1.ExecSQL;
end;


Ultima edición por alonsojpd el Mie Dic 16, 2009 8:16 am, editado 1 vez
MensajePublicado:
Mie Dic 16, 2009 7:44 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Cómo ejecutar SQL insertar registros con Delphi en Acces Responder citando



Anuncios



Ten en cuenta que para las sentencias de modificación de datos del tipo UPDATE, INSERT, DELETE deberás utilizar "nombreQuery.ExecSQL" y para las de consulta (SELECT) deberás utilizar "nombreQuery.Open".

Por ejemplo, para mostrar determinados registros de la tabla facturas que cumplan una determinada condición (filtro o criterio) puedes utilizar el siguiente código:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('select * from factura where cliente like :pValor');
  Query1.ParamByName('pValor').DataType := ftString;
  Query1.ParamByName('pValor').AsString := '%AjpdSoft%';
  Query1.open;
  ShowMessage(IntToStr(Query1.RecordCount));
end;
MensajePublicado:
Mie Dic 16, 2009 7:59 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Cómo ejecutar SQL insertar registros con Delphi en Acces Responder citando



Anuncios



En general cualquier consulta que no devuelva registros (que no sea de tipo SELECT), también las de tipo DDL (CREATE, ALTER, DROP) debes utilizar "ExecSQL". Por ejemplo, para crear una tabla llamada "albaran" por SQL desde Delphi en Access:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Create Table albaran (');
  Query1.SQL.Add('  codigo integer Primary Key,');
  Query1.SQL.Add('  cliente text(100) not null unique);');
  Query1.ExecSQL;
end;
MensajePublicado:
Mie Dic 16, 2009 8:26 am
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A