SQL查询语句做成EXE文件

我在查询分析器中写了一段代码【SELECT DISTINCT '派工对象'=A.YG_NAME,(CASE WHEN (A.END_DD>GQ_DD+1 AND GQ_DD IS NOT NULL) THEN '提前完成'
WHEN (A.END_DD<=GQ_DD+1 AND A.END_DD>GQ_DD) THEN '按时完成'
WHEN (A.END_DD<GQ_DD) THEN '超期完成'
ELSE '未完成' END) AS '完成标识',
'派工日期'=GP_DD,'要求完工日期'=A.END_DD,'工件检验日期'=GQ_DD,'成品名称'=A.PRD_NAME,'成品代号'=A.PRD_NO,'制程名称'=C.ZC_NAME,'任务数量'=B.QTY,'完成数量'=C.QTY_FIN,'计划号'=E.BAT_NO
FROM TF_GP A LEFT JOIN MF_GP B ON A.GP_NO=B.GP_NO LEFT JOIN TF_GQ C ON A.TZ_NO=C.TZ_NO LEFT JOIN MF_GQ D ON C.GQ_NO=D.GQ_NO LEFT JOIN MF_TZ E ON A.TZ_NO=E.TZ_NO
WHERE B.DEP='50' AND A.END_DD>= '2010-12-16 00:00:00.000' AND A.END_DD<'2010-12-17 00:00:00.000'
ORDER BY '完成标识'】,请问怎么做成EXE文件,EXE文件中最好可以设定查询起止时间。查询结果最好可以保存为EXCEL文件。服务器名192.168.0.2,登陆名SA,密码空,数据库名DB_01。
俺是小白,光和俺说大体操作路线还是不明白,最好详细点,有代码哈,先谢过了。
我需要一个完整的软件,软件界面有如下内容,
起止日期输入或设定控件,还有两个按钮控件(一个是生成数据,显示在软件窗口内,一个是导出,将结果生成电子表格文件,自动保存到我的文档。)要求编程软件为C#或者VB。起止日期就是WHERE语句中的A.END_DD。请高手帮忙了。小弟急用,有能力者,请将程序及源代码发到我的邮箱victor3168@163.com。结果满意后再送上50分,表示感谢。另外,服务器是同一局域网内的远程连接。
最新回答
因为太帅被罚块

2024-10-24 07:56:33

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文件! 这已经是最简化的你想得到的答案了!
心比柠檬酸

2024-10-24 07:52:00

自动定时执行, 产生一个 Excel 文件。
不一定要用 EXE

写个 BAT 批处理文件, 调用 SQL Server 自带的 sqlcmd 来执行。

下面是一个简单的例子,
第一行 检索 a 表的数据, 创建一个 temp_a 表
第二行 将 temp_a 表 导出到一个 csv 文件上(该文件 用逗号分隔 字段,可用Excel直接打开)
第三行 删除 temp_a 表

sqlcmd -U sa -P 12345 -S "localhost\SQLEXPRESS" -Q "SELECT * into temp_a FROM a"

bcp [Test].[dbo].[temp_a] out a.csv -c -t, -U sa -P 12345 -S "localhost\SQLEXPRESS"

sqlcmd -U sa -P 12345 -S "localhost\SQLEXPRESS" -Q "DROP TABLE temp_a"
淺笑ペ安然

2024-10-24 07:53:32

随便找一个编程语言,创建一个数据库读写的项目,实现数据库操作,就行了。

很多语言都可以实现的。JAVA,C#,C++,VB,~~~~~~~~~~~~~~~~~~~~
比如说C#

1、新建一个控制台项目
2、根据你的数据库服务器,调用相应的数据库驱动,连接数据库。
3、用commend的对象来实现update 的语句的执行。
4、编译项目为exe文件。

需要我给你写全部代码吗?

-----------------------------------------------------
PS:有空请帮我踩踩我的空间,谢谢。
美少女壮士

2024-10-24 07:51:10

sql不能产生exe,要用诸如C#调用数据库,产生exe文件