sql serve能否生成一个可以执行查询的exe程序?

 我来答
匿名用户
推荐于2018-04-20
展开全部
SQL不能制作exe文件,我可能跟你说一下原理:
用编程语言编写软件,可编译成EXE文件
例如:delphi 编写,先制作一个窗体:
放入数据库控件adoconnection1,设置服务器IP地址及登陆用户名和这密码。
放入数据库控件adoquery1,设置connection=adoconnection1;SQL=你的SQL句语句
放入数据库控件DataSource1,设置DataSet=adoquery1
放入数据库控件DBGrid1,设置DataSource=DataSource1
放两个按钮:一个“查询”一个“导出EXCEL”
查询按钮代码为:
adoquery1.active:=False; //表示关闭查询分析器
adoquery1.active:=True; //表示激活查询分析器,这时会显示数据出来。
导出EXCEL代码为(先建一个函数,再调用):
调用代码:
if savedialog1.execute then //执行保存文件对话框
DBtoExcel(adoquery1,savedialog1.filename) //保存文件到EXCEL
函数:
Function TfrmMain.DbtoExcel(FromDb:TDataSet;toExcelFileName:string):boolean;
var
eclApp,WorkBook:Variant;
xlsFileName:string;
i,j:integer;
begin
result:=true;
xlsFileName:=toExcelFilename;
try
//创建OLE对象Excel Application与 WorkBook
eclApp:=CreateOleObject('Excel.Application');
WorkBook:=CreateOleobject('Excel.Sheet');
except
Result:=false;
Exit;
end;
try
workBook:=eclApp.workBooks.Add;
eclapp.cells.select;
eclapp.Selection.NumberFormatLocal := '@';
for i:=0 to fromdb.fields.Count -1 do
begin
eclApp.Cells(1,i+1):=fromdb.fields[i].DisplayName;
eclApp.Columns[i+1].ColumnWidth:=12;
end;
fromdb.First ;
j:=2;
while not fromdb.Eof do
begin
for i:=0 to fromdb.FieldCount -1 do
if i>=9 then
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;
if FileExists(xlsFileName) then DeleteFile(xlsFileName);
WorkBook.saveas(xlsFileName);
WorkBook.close;
eclApp.Quit;
except
eclApp.Quit;
result:=false;
end;
end;
编译之后,就可以得到一个exe文件!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式