Sencillo generador de consultas utilizando componentes de ado?
Escribir un simple generador de consultas utilizando Componentes de ADO.
Este artículo tiene la intención de demostrar cómo se puede usar el ADO de componentes disponibles en Delphi.
he escrito una aplicación simple de usar componentes de ADO para recuperar los Nombres de Origen de Datos, los Nombres de tablas, Nombres de Campo, los Nombres de los procedimientos y una opción para escribir la consulta y ejecutar y mostrar el resultado en una cuadrícula.
La función de la aplicación:
Cuando se ejecuta la aplicación, se va a recuperar todos los Nombres de Origen de Datos ODBC desde el sistema actual y la lista en un cuadro de lista. Si selecciona un Nombre de Origen de Datos, se le pedirá que introduzca el nombre de usuario y contraseña. Una vez que introduzca el nombre de usuario y contraseña, las tablas y los procedimientos disponibles en el origen de datos. Y si usted haga clic en un nombre de tabla, todos los campos en la tabla de la lista.
Y en el campo memo, puede escribir la consulta SQL y haga clic en el botón de Ejecución, que va a ejecutar la consulta y mostrar el resultado en la tabla de abajo.
También puede guardar la consulta a un archivo de texto si usted haga clic en el botón Guardar.
Y en los Nombres de Origen de Datos de cuadro de lista, si hace clic derecho, habrá un menú Actualizar y actualizar el Origen de Datos ODBC de Nombres.
Esta es una versión simple de Generador de Consultas y podemos añadir tantas características como sea posible y sólo quería compartirlo con la gente.
el Siguiente es el código completo de la aplicación:
Archivo de Proyecto: ADODemo.el dpr
programa de ADODemo
usos
& nbsp & nbsp Formas,
& nbsp & nbsp UADODemo1 en 'UADODemo1.pas' {frmADODemo},
& nbsp & nbsp ULogin en 'ULogin.pas' {frmLogin}
{$R *.res}
begin
& nbsp & nbsp Aplicación.Inicializar
& nbsp & nbsp Aplicación.Título := 'ADO Demo'
& nbsp & nbsp Aplicación.CreateForm(TfrmADODemo, frmADODemo)
& nbsp & nbsp Aplicación.CreateForm(TfrmLogin, frmLogin)
& nbsp & nbsp Aplicación.Ejecutar
final.
Archivo Unidad 1: UADODemo1.pas
unidad de UADODemo1
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, las Variantes, las Clases, los Gráficos, Controles, Formularios,
& nbsp & nbsp Diálogos, StdCtrls, DB, DBTables, ADODB, ExtCtrls, Botones, Tablas, DBGrids,
& nbsp & nbsp ComCtrls,Inifiles, Los menús
Const
& nbsp & nbsp WinNTOr2000 = 'C:/WinNT/'
& nbsp & nbsp Win95Or98 = 'C:/Windows/'
& nbsp & nbsp ODBCDataSources = 'ODBC de 32 bits Fuentes de Datos'
tipo
& nbsp & nbsp TfrmADODemo = class(TForm)
& nbsp & nbsp & nbsp & nbsp pnlClientPanel: TPanel
& nbsp & nbsp & nbsp & nbsp lblDataSources: TLabel
& nbsp & nbsp & nbsp & nbsp lbxDataSources: TListBox
& nbsp & nbsp & nbsp & nbsp lblTables: TLabel
& nbsp & nbsp & nbsp & nbsp lbxTables: TListBox
& nbsp & nbsp & nbsp & nbsp lblFields: TLabel
& nbsp & nbsp & nbsp & nbsp lbxFields: TListBox
& nbsp & nbsp & nbsp & nbsp lblProcedures: TLabel
& nbsp & nbsp & nbsp & nbsp lbxProcedures: TListBox
& nbsp & nbsp & nbsp & nbsp memQueryText: TMemo
& nbsp & nbsp & nbsp & nbsp lblQueryText: TLabel
& nbsp & nbsp & nbsp & nbsp bitExecute: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitClose: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitSaveQuery: TBitBtn
& nbsp & nbsp & nbsp & nbsp dbgResultData: TDBGrid
& nbsp & nbsp & nbsp & nbsp lblQueryResult: TLabel
& nbsp & nbsp & nbsp & nbsp ADOConnection: TADOConnection
& nbsp & nbsp & nbsp & nbsp sbrStatusBar: TStatusBar
& nbsp & nbsp & nbsp & nbsp popRefresh: TPopupMenu
& nbsp & nbsp & nbsp & nbsp mitRefresh: TMenuItem
& nbsp & nbsp & nbsp & nbsp DlgSaveDialog: TSaveDialog
& nbsp & nbsp & nbsp & nbsp ADOQuery1: TADOQuery
& nbsp & nbsp & nbsp & nbsp procedimiento FormCreate(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento lbxDataSourcesClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento bitSaveQueryClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento lbxTablesClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento bitExecuteClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento FormDestroy(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp función ODBCPath : String
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp frmADODemo: TfrmADODemo
& nbsp & nbsp DSNSelectedIndex : Integer
aplicación
utiliza ULogin
{$R *.dfm}
procedimiento TfrmADODemo.FormCreate(Sender: TObject)
//Carga de los nombres de origen de Datos
var
& nbsp & nbsp fuentes de datos : TStringList
& nbsp & nbsp ODBCIniFile : TIniFile
begin
& nbsp & nbsp DSNSelectedIndex := 0
& nbsp & nbsp fuentes de datos := TStringList.Crear
& nbsp & nbsp ODBCIniFile := TIniFile.Crear(ODBCPath 'ODBC.INI')
& nbsp & nbsp ODBCIniFile.ReadSection(ODBCDataSources,las fuentes de datos)
& nbsp & nbsp lbxDataSources.Elementos.Asignar(fuentes de datos)
fin
función TfrmADODemo.ODBCPath
//determinación de la ubicación de ODBC.Archivo INI
var
& nbsp & nbsp OSVersionInfo : TOSVersionInfo
begin
& nbsp & nbsp OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo)
& nbsp & nbsp si GetVersionEx(OSVersionInfo), a continuación,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp if ((OSVersionInfo.dwMajorVersion = 5) o (OSVersionInfo.dwMajorVersion = 4)) y
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (OSVersionInfo.dwMinorVersion = 0) y
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else if (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else if (OSVersionInfo.dwPlatformId = 3) y (OSVersionInfo.dwMinorVersion = 51)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp y (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := Win95Or98
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.lbxDataSourcesClick(Sender: TObject)
begin
& nbsp & nbsp //Si la conexión está abierto, ciérrelo primera
& nbsp & nbsp si ADOConnection.Conectado, a continuación,
& nbsp & nbsp & nbsp & nbsp ADOConnection.Cerrar
& nbsp & nbsp //Muestra el cuadro de Diálogo conexión de Base de datos
& nbsp & nbsp frmLogin.edtName.Claro
& nbsp & nbsp frmLogin.edtPassword.Claro
& nbsp & nbsp si frmLogin.ShowModal = mrOk, a continuación,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crHourGlass
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.ConnectionString := 'ID de Usuario=' frmLogin.edtName.Texto ' Password=' frmLogin.edtPassword.Texto ' Origen de Datos=' lbxDataSources.Los elementos[lbxDataSources.ItemIndex]
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.Conectado := True
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DSNSelectedIndex := lbxDataSources.ItemIndex
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxTables.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxProcedures.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxFields.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.GetTableNames(lbxTables.Los elementos)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.GetProcedureNames(lbxProcedures.Los elementos)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crDefault
& nbsp & nbsp & nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crDefault
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxTables.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxProcedures.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxFields.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp MessageDlg('no se puede Conectar a' lbxDataSources.Los elementos[lbxDataSources.ItemIndex],mtInformation,[mbOk],0)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
& nbsp & nbsp else
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp lbxDataSources.Seleccionado[DSNSelectedIndex] := True
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.bitSaveQueryClick(Sender: TObject)
//Guardar el escrito de la consulta en un archivo de texto
begin
& nbsp & nbsp si DlgSaveDialog.Ejecutar, a continuación,
& nbsp & nbsp & nbsp & nbsp memQueryText.Líneas.SaveToFile(DlgSaveDialog.Nombre de archivo)
fin
procedimiento TfrmADODemo.lbxTablesClick(Sender: TObject)
//Obtener los nombres de Campo mientras hace clic en los nombres de tabla
begin
& nbsp & nbsp lbxFields.Claro
& nbsp & nbsp ADOConnection.GetFieldNames(lbxTables.Los elementos[lbxTables.ItemIndex],lbxFields.Los elementos)
fin
procedimiento TfrmADODemo.bitExecuteClick(Sender: TObject)
//Ejecutar la consulta
begin
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp si (ADOConnection.Conectado) y (Trim(memQueryText.Líneas.De texto) <> ')
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.Conexión := ADOConnection
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.SQL.AddStrings(memQueryText.Líneas)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.ExecSQL
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dbgResultData.Origen de datos.Conjunto De Datos := ADOQuery1.Origen de datos.Conjunto de datos
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp MessageDlg('Error que Muestra los Datos',mtInformation,[mbOk],0)
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.FormDestroy(Sender: TObject)
//Cerrar la Conexión de ADO si está conectado
begin
& nbsp & nbsp si ADOConnection.Conectado, a continuación,
& nbsp & nbsp & nbsp & nbsp ADOConnection.Cerrar
fin
final.
Siempre que seleccione un Nombre de Origen de Datos en el cuadro de lista, una base de datos de inicio de sesión de diálogo que te preguntará que nos introduzca el nombre de usuario y contraseña para que el DSN y una vez que introduzca el nombre de usuario correcto y la contraseña, vamos a estar conectado y las tablas,procedimientos de la lista.
la Unidad de Archivo de 2: Ulogin.pas
unidad de ULogin
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, las Variantes, las Clases, los Gráficos, Controles, Formularios,
& nbsp & nbsp Diálogos, ExtCtrls, ComCtrls, StdCtrls, Botones
tipo
& nbsp & nbsp TfrmLogin = class(TForm)
& nbsp & nbsp & nbsp & nbsp pnlClient: TPanel
& nbsp & nbsp & nbsp & nbsp lblName: TLabel
& nbsp & nbsp & nbsp & nbsp lblPassword: TLabel
& nbsp & nbsp & nbsp & nbsp edtName: TEdit
& nbsp & nbsp & nbsp & nbsp edtPassword: TEdit
& nbsp & nbsp & nbsp & nbsp sbrStatusBar: TStatusBar
& nbsp & nbsp & nbsp & nbsp bitOK: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitClose: TBitBtn
& nbsp & nbsp & nbsp & nbsp procedimiento FormShow(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp frmLogin: TfrmLogin
aplicación
{$R *.dfm}
procedimiento TfrmLogin.FormShow(Sender: TObject)
begin
& nbsp & nbsp edtName.SetFocus
fin
final.
no he incluido el .dfm archivos con esto, pero espero que usted puede encontrar fácilmente los componentes que he usado con el .pas archivos.
a pesar de que hay muchos generadores de consultas disponibles, sólo quería probar con ADO componentes de Delphi y se va a ampliar esto mediante la adición de más características. Estoy muy contento de dar la bienvenida a sus ideas sobre esto.
Gracias.
Magesh.
Sencillo generador de consultas utilizando componentes de ado?
Sencillo generador de consultas utilizando componentes de ado? : Multi-millones de consejos para hacer su vida mas facil.
Escribir un simple generador de consultas utilizando Componentes de ADO.
Este articulo tiene la intencion de demostrar como se puede usar el ADO de componentes disponibles en Delphi.
he escrito una aplicacion simple de usar componentes de ADO para recuperar los Nombres de Origen de Datos, los Nombres de tablas, Nombres de Campo, los Nombres de los procedimientos y una opcion para escribir la consulta y ejecutar y mostrar el resultado en una cuadricula.
La funcion de la aplicacion:
Cuando se ejecuta la aplicacion, se va a recuperar todos los Nombres de Origen de Datos ODBC desde el sistema actual y la lista en un cuadro de lista. Si selecciona un Nombre de Origen de Datos, se le pedira que introduzca el nombre de usuario y contraseña. Una vez que introduzca el nombre de usuario y contraseña, las tablas y los procedimientos disponibles en el origen de datos. Y si usted haga clic en un nombre de tabla, todos los campos en la tabla de la lista.
Y en el campo memo, puede escribir la consulta SQL y haga clic en el boton de Ejecucion, que va a ejecutar la consulta y mostrar el resultado en la tabla de abajo.
Tambien puede guardar la consulta a un archivo de texto si usted haga clic en el boton Guardar.
Y en los Nombres de Origen de Datos de cuadro de lista, si hace clic derecho, habra un menu Actualizar y actualizar el Origen de Datos ODBC de Nombres.
Esta es una version simple de Generador de Consultas y podemos añadir tantas caracteristicas como sea posible y solo queria compartirlo con la gente.
el Siguiente es el codigo completo de la aplicacion:
Archivo de Proyecto: ADODemo.el dpr
programa de ADODemo
usos
& nbsp & nbsp Formas,
& nbsp & nbsp UADODemo1 en 'UADODemo1.pas' {frmADODemo},
& nbsp & nbsp ULogin en 'ULogin.pas' {frmLogin}
{$R *.res}
begin
& nbsp & nbsp Aplicacion.Inicializar
& nbsp & nbsp Aplicacion.Titulo := 'ADO Demo'
& nbsp & nbsp Aplicacion.CreateForm(TfrmADODemo, frmADODemo)
& nbsp & nbsp Aplicacion.CreateForm(TfrmLogin, frmLogin)
& nbsp & nbsp Aplicacion.Ejecutar
final.
Archivo Unidad 1: UADODemo1.pas
unidad de UADODemo1
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, las Variantes, las Clases, los Graficos, Controles, Formularios,
& nbsp & nbsp Dialogos, StdCtrls, DB, DBTables, ADODB, ExtCtrls, Botones, Tablas, DBGrids,
& nbsp & nbsp ComCtrls,Inifiles, Los menus
Const
& nbsp & nbsp WinNTOr2000 = 'C:/WinNT/'
& nbsp & nbsp Win95Or98 = 'C:/Windows/'
& nbsp & nbsp ODBCDataSources = 'ODBC de 32 bits Fuentes de Datos'
tipo
& nbsp & nbsp TfrmADODemo = class(TForm)
& nbsp & nbsp & nbsp & nbsp pnlClientPanel: TPanel
& nbsp & nbsp & nbsp & nbsp lblDataSources: TLabel
& nbsp & nbsp & nbsp & nbsp lbxDataSources: TListBox
& nbsp & nbsp & nbsp & nbsp lblTables: TLabel
& nbsp & nbsp & nbsp & nbsp lbxTables: TListBox
& nbsp & nbsp & nbsp & nbsp lblFields: TLabel
& nbsp & nbsp & nbsp & nbsp lbxFields: TListBox
& nbsp & nbsp & nbsp & nbsp lblProcedures: TLabel
& nbsp & nbsp & nbsp & nbsp lbxProcedures: TListBox
& nbsp & nbsp & nbsp & nbsp memQueryText: TMemo
& nbsp & nbsp & nbsp & nbsp lblQueryText: TLabel
& nbsp & nbsp & nbsp & nbsp bitExecute: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitClose: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitSaveQuery: TBitBtn
& nbsp & nbsp & nbsp & nbsp dbgResultData: TDBGrid
& nbsp & nbsp & nbsp & nbsp lblQueryResult: TLabel
& nbsp & nbsp & nbsp & nbsp ADOConnection: TADOConnection
& nbsp & nbsp & nbsp & nbsp sbrStatusBar: TStatusBar
& nbsp & nbsp & nbsp & nbsp popRefresh: TPopupMenu
& nbsp & nbsp & nbsp & nbsp mitRefresh: TMenuItem
& nbsp & nbsp & nbsp & nbsp DlgSaveDialog: TSaveDialog
& nbsp & nbsp & nbsp & nbsp ADOQuery1: TADOQuery
& nbsp & nbsp & nbsp & nbsp procedimiento FormCreate(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento lbxDataSourcesClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento bitSaveQueryClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento lbxTablesClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento bitExecuteClick(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento FormDestroy(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp funcion ODBCPath : String
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp frmADODemo: TfrmADODemo
& nbsp & nbsp DSNSelectedIndex : Integer
aplicacion
utiliza ULogin
{$R *.dfm}
procedimiento TfrmADODemo.FormCreate(Sender: TObject)
//Carga de los nombres de origen de Datos
var
& nbsp & nbsp fuentes de datos : TStringList
& nbsp & nbsp ODBCIniFile : TIniFile
begin
& nbsp & nbsp DSNSelectedIndex := 0
& nbsp & nbsp fuentes de datos := TStringList.Crear
& nbsp & nbsp ODBCIniFile := TIniFile.Crear(ODBCPath 'ODBC.INI')
& nbsp & nbsp ODBCIniFile.ReadSection(ODBCDataSources,las fuentes de datos)
& nbsp & nbsp lbxDataSources.Elementos.Asignar(fuentes de datos)
fin
funcion TfrmADODemo.ODBCPath
//determinacion de la ubicacion de ODBC.Archivo INI
var
& nbsp & nbsp OSVersionInfo : TOSVersionInfo
begin
& nbsp & nbsp OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo)
& nbsp & nbsp si GetVersionEx(OSVersionInfo), a continuacion,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp if ((OSVersionInfo.dwMajorVersion = 5) o (OSVersionInfo.dwMajorVersion = 4)) y
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (OSVersionInfo.dwMinorVersion = 0) y
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else if (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else if (OSVersionInfo.dwPlatformId = 3) y (OSVersionInfo.dwMinorVersion = 51)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp y (OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT), a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := WinNTOr2000
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ODBCPath := Win95Or98
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.lbxDataSourcesClick(Sender: TObject)
begin
& nbsp & nbsp //Si la conexion esta abierto, cierrelo primera
& nbsp & nbsp si ADOConnection.Conectado, a continuacion,
& nbsp & nbsp & nbsp & nbsp ADOConnection.Cerrar
& nbsp & nbsp //Muestra el cuadro de Dialogo conexion de Base de datos
& nbsp & nbsp frmLogin.edtName.Claro
& nbsp & nbsp frmLogin.edtPassword.Claro
& nbsp & nbsp si frmLogin.ShowModal = mrOk, a continuacion,
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crHourGlass
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.ConnectionString := 'ID de Usuario=' frmLogin.edtName.Texto ' Password=' frmLogin.edtPassword.Texto ' Origen de Datos=' lbxDataSources.Los elementos[lbxDataSources.ItemIndex]
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.Conectado := True
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DSNSelectedIndex := lbxDataSources.ItemIndex
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxTables.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxProcedures.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxFields.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.GetTableNames(lbxTables.Los elementos)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOConnection.GetProcedureNames(lbxProcedures.Los elementos)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crDefault
& nbsp & nbsp & nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Pantalla.Cursor := crDefault
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxTables.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxProcedures.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp lbxFields.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp MessageDlg('no se puede Conectar a' lbxDataSources.Los elementos[lbxDataSources.ItemIndex],mtInformation,[mbOk],0)
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp final
& nbsp & nbsp else
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp lbxDataSources.Seleccionado[DSNSelectedIndex] := True
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.bitSaveQueryClick(Sender: TObject)
//Guardar el escrito de la consulta en un archivo de texto
begin
& nbsp & nbsp si DlgSaveDialog.Ejecutar, a continuacion,
& nbsp & nbsp & nbsp & nbsp memQueryText.Lineas.SaveToFile(DlgSaveDialog.Nombre de archivo)
fin
procedimiento TfrmADODemo.lbxTablesClick(Sender: TObject)
//Obtener los nombres de Campo mientras hace clic en los nombres de tabla
begin
& nbsp & nbsp lbxFields.Claro
& nbsp & nbsp ADOConnection.GetFieldNames(lbxTables.Los elementos[lbxTables.ItemIndex],lbxFields.Los elementos)
fin
procedimiento TfrmADODemo.bitExecuteClick(Sender: TObject)
//Ejecutar la consulta
begin
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp si (ADOConnection.Conectado) y (Trim(memQueryText.Lineas.De texto) <> ')
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.Conexion := ADOConnection
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.SQL.AddStrings(memQueryText.Lineas)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp ADOQuery1.ExecSQL
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dbgResultData.Origen de datos.Conjunto De Datos := ADOQuery1.Origen de datos.Conjunto de datos
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp MessageDlg('Error que Muestra los Datos',mtInformation,[mbOk],0)
& nbsp & nbsp final
fin
procedimiento TfrmADODemo.FormDestroy(Sender: TObject)
//Cerrar la Conexion de ADO si esta conectado
begin
& nbsp & nbsp si ADOConnection.Conectado, a continuacion,
& nbsp & nbsp & nbsp & nbsp ADOConnection.Cerrar
fin
final.
Siempre que seleccione un Nombre de Origen de Datos en el cuadro de lista, una base de datos de inicio de sesion de dialogo que te preguntara que nos introduzca el nombre de usuario y contraseña para que el DSN y una vez que introduzca el nombre de usuario correcto y la contraseña, vamos a estar conectado y las tablas,procedimientos de la lista.
la Unidad de Archivo de 2: Ulogin.pas
unidad de ULogin
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, las Variantes, las Clases, los Graficos, Controles, Formularios,
& nbsp & nbsp Dialogos, ExtCtrls, ComCtrls, StdCtrls, Botones
tipo
& nbsp & nbsp TfrmLogin = class(TForm)
& nbsp & nbsp & nbsp & nbsp pnlClient: TPanel
& nbsp & nbsp & nbsp & nbsp lblName: TLabel
& nbsp & nbsp & nbsp & nbsp lblPassword: TLabel
& nbsp & nbsp & nbsp & nbsp edtName: TEdit
& nbsp & nbsp & nbsp & nbsp edtPassword: TEdit
& nbsp & nbsp & nbsp & nbsp sbrStatusBar: TStatusBar
& nbsp & nbsp & nbsp & nbsp bitOK: TBitBtn
& nbsp & nbsp & nbsp & nbsp bitClose: TBitBtn
& nbsp & nbsp & nbsp & nbsp procedimiento FormShow(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp frmLogin: TfrmLogin
aplicacion
{$R *.dfm}
procedimiento TfrmLogin.FormShow(Sender: TObject)
begin
& nbsp & nbsp edtName.SetFocus
fin
final.
no he incluido el .dfm archivos con esto, pero espero que usted puede encontrar facilmente los componentes que he usado con el .pas archivos.
a pesar de que hay muchos generadores de consultas disponibles, solo queria probar con ADO componentes de Delphi y se va a ampliar esto mediante la adicion de mas caracteristicas. Estoy muy contento de dar la bienvenida a sus ideas sobre esto.
Gracias.
Magesh.
Sencillo generador de consultas utilizando componentes de ado?
By Consejos Y Trucos
Sencillo generador de consultas utilizando componentes de ado? : Multi-millones de consejos para hacer su vida más fácil.