Las declaraciones de consulta SQL se convierten en archivos EXE
SQL no puede crear archivos exe. Puedo decirle el principio:
El software de escritura en un lenguaje de programación se puede compilar en un archivo EXE
Por ejemplo: escrito en Delphi, primero cree un formulario:
Ingrese el control de la base de datos adoconnection1, configure la dirección IP del servidor, el nombre de usuario y la contraseña de inicio de sesión.
Coloque en el control de la base de datos adoquery1, establezca conexión=adoconnection1;SQL=su declaración SQL
Coloque en el control de la base de datos DataSource1, establezca DataSet=adoquery1
Coloque Ingresa al control de base de datos DBGrid1 y configura DataSource=DataSource1
Pon dos botones: uno de "Consulta" y otro de "Exportar EXCEL"
El código del botón de consulta es:
adoquery1 .active:=False; //Indica que el analizador de consultas está cerrado
adoquery1.active:=True; //Indica que el analizador de consultas está activado y se mostrarán los datos.
El código EXCEL de exportación es (primero cree una función, luego llámela):
Código de llamada:
if savedialog1.execute entonces //Ejecute el guardado cuadro de diálogo de archivo
DBtoExcel(adoquery1,savedialog1.filename) //Guardar el archivo en EXCEL
Función:
Función TfrmMain.DbtoExcel(FromDb:TDataSet; toExcelFileName:string) :boolean;
var
eclApp,WorkBook:Variant;
xlsFileName:string;
i,j: entero;
p>comenzar
resultado:=true;
xlsFileName:=toExcelFilename;
intentar
//Crear objeto OLE Aplicación Excel y Libro de Trabajo
eclApp:=CreateOleObject('Excel.Application');
WorkBook:=CreateOleobject('Excel.Sheet'); p>
excepto
Resultado:=falso;
Salir;
Fin;
Intentar
workBook:=eclApp.workBooks.Add;
eclapp.cells.select;
eclapp.Selection.NumberFormatLocal := '@';
para i :=0 a fromdb.fields.Count -1 do
comenzar
eclApp.Cells(1,i+1):=fromdb.fields[i].DisplayName; p>
eclApp .Columns[i+1].ColumnWidth:=12;
end;
fromdb.First ;
j:=2 ;
mientras no sea fromdb.Eof, haga
comience
para i:=0 a fromdb.FieldCount -1, haga
si >=9 entonces p>
eclApp.Cells(j,i+1):=ConvertTime(fromdb.Fields[i].AsInteger)
else
eclApp .Cells(j,i +1):=fromdb.Fields[i].AsString;
j:=j+1;
fromdb.Next ;
end;
p>si FileExists(xlsFileName) entonces DeleteFile(xlsFileName);
WorkBook.saveas(xlsFileName);
WorkBook.close;
eclApp.Quit;
excepto
eclApp.Quit;
resultado:=false;
fin;
end;
¡Después de la compilación, puede obtener un archivo exe! ¡Esta es la respuesta más simple que se te ocurra!