Problema con variable tipo TIBSQL en Delphi 2009
Buen dia a todos, me encuentro aprendiendo Delphi por mi cuenta, y me he topado con el problema de que no me reconoce el tipo de dato TIBSQL (me lo subraya con rojo ), la utilizo para una conexion con firebirt y baciar los datos a un TListView, o almenos eso creo. ya antes me habia marcado este tipo de error con TIBDatabase, pero lo solucione agregando a la linea
Código Delphi [-] uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, DB, IBDatabase,Dialogs, System.ComponentModel, Borland.Vcl.ComCtrls; no se si me falte agregar algo mas para que me acepte el TIBSQL dejo el codigo por si sirve de algo Código Delphi [-] unit PruebaB; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, DB, IBDatabase,Dialogs, System.ComponentModel, Borland.Vcl.ComCtrls; type TForm1 = class(TForm) TListView: TListView; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.nfm} function ConectarBaseDatos( sBaseDatos: String ): TIBDatabase; var DB: TIBDatabase; begin DB := TIBDatabase.Create( nil ); DB.Name := 'IB'; DB.DatabaseName := '127.0.0.1:' + sBaseDatos; DB.Params.Add( 'user_name=SYSDBA' ); DB.Params.Add( 'password=masterkey' ); DB.SQLDialect := 3; DB.LoginPrompt := False; try DB.Open; except raise Exception.Create( 'No puedo conectar con INTERBASE/FIREBIRD.' + #13 + #13 + 'Consulte con el administrador del programa.' ); end; Result := DB; end; procedure ListarTabla( DB: TIBDatabase; sTabla: String; Listado: TListView ); var Campos: TStringList; i: Integer; Consulta: TIBSQL; Transaccion: TIBTransaction; begin if DB = nil then Exit; // Creamos un stringlist para meter los campos de la tabla Campos := TStringList.Create; DB.GetFieldNames( sTabla, Campos ); // Creamos una transacción para la consulta Transaccion := TIBTransaction.Create( nil ); Transaccion.DefaultDatabase := DB; // Creamos una consulta Consulta := TIBSQL.Create( nil ); Consulta.Transaction := Transaccion; Consulta.SQL.Add( 'SELECT * FROM ' + sTabla ); Transaccion.StartTransaction; try Consulta.ExecQuery; except Transaccion.Rollback; raise; end; // Creamos en el listview una columna por cada campo Listado.Columns.Clear; Listado.Columns.Add; Listado.Columns[0].Width := 0; for i := 0 to Campos.Count - 1 do begin Listado.Columns.Add; Listado.Columns[i+1].Caption := Campos[i]; Listado.Columns[i+1].Width := 100; end; // Listamos los registros Listado.Clear; while not Consulta.Eof do begin Listado.Items.Add; for i := 0 to Campos.Count - 1 do Listado.Items[Listado.Items.Count-1].SubItems.Add( Consulta.FieldByName( Campos[i] ).AsString ); Consulta.Next; end; // Una vez hemos terminado liberamos los objetos creados FreeAndNil( Campos ); FreeAndNil( Consulta ); FreeAndNil( Transaccion ); end; procedure TForm1.FormCreate(Sender: TObject); var DB: TIBDatabase; begin DB := ConectarBaseDatos( 'c:\ch datos\ch.fdb' ); // PARA FIREBIRD if DB = nil then Exit; end; end. De antemano gracias por ayudar a un autodidacta :confused: |
Tenes que agregar en el uses IBSQL
Saludos |
Gracias
En efecto ese era le problema, gracias por la respuesta , y ya que estamos en esto, sabes como podrea gregar datos a la tabla ?
|
|
De nueva cuenta Gracias
De nueva cuenta gracias, le hechare un ojo
|
La franja horaria es GMT +2. Ahora son las 21:47:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi