请问如何把大段的SQL代码,写到程序里面? 请问如何把大段的SQL代码,写到程序里面? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然是写到程序里那就分行写吧,adoquery.sql.add('') 写多几个这样的,把SQL语句分几行 放一个静态的 ADOQuery 里面写为什么都爱用 sql.add 呢?这样做法是 ms 的恶习 如果是一两条SQL语句,当然可以放到ADOQuery里面但如果执行10条或者更多,怎么用静态的ADOQuery呢?要放10个或更多ADOQuery吗?请楼上指教.楼主的一大段SQL不想用存储过程,可以用以下方法with adoquery dobegin Close; SQL.Clear; SQL.Add('你的SQL1'); SQL.Add('你的SQL2'); ..... Parameters[0].Value:=参数; ...... OPen;end;一个adoquery就够了. 的确是头疼, C++ 中可以用”\“, 一直不知道DELPHI中有什么相应的。最终还是 create proc ps_myproc as ...了 如果嫌在程序里面分割太麻烦,又不想写死在某个ADOQUERY里,不放考虑动态从文件里加载,反正读进去后程序执行正确就行了。还有就是上面说了,写成SP比较好。 这样:with adoquery do begin Close; SQL.Clear; SQL.text:='select *'+ ' from abc'+ ' where a=b'; OPen; end; 超越SQL语句,摆在面前是一个个类类,一个个方法,多个SQL语句用多个类方法来实现 放一个 adoquery 在 datamodule 里adoquery.sql属性,在里面写,不要在代码里一行行的加 定义字符串常量const //创建临时表 ctemp = 'insert into ....... ' + '.....' + '.....' + '.....' + '.....'; 不行的,如果是DATABASE连接数据库或是其它情况,缓冲区会不够的。 放单独的 SQL 文件里,读入执行。 写个存储过程好了,实在要放在程序里面,可以用字符串存放SQL语句好了。var strsql : string;begin strsql := 'select ...' + '.....';end; 可以用sql.LoadFromFile('ztzb.txt'); 定义一个变量(MysqlStr)啊,把SQL赋值给它,然后adoquery.sql.add(MysqlStr) 用adoQuery.LoadFromFile(sFileName) 试试看。 论升级DELPHI新版! 关于delphi 函数(过程)中的 overload; 求一个查询语句 CnPack开发组2007年下半年度工作总结 求教:根据我现在这种情况,如何较为简单的得到财务报表? 做delphi的同行现在混的怎样? Delphi 2005真实展现 请教,这个SQL语句怎么写? 关于窗体监示问题 delphi怎么判断sql server数据库的服务启动 月亮都是大斑竹了,发300分祝贺一下 FastReport中的求和问题
为什么都爱用 sql.add 呢?这样做法是 ms 的恶习
但如果执行10条或者更多,怎么用静态的ADOQuery呢?要放10个或更多ADOQuery吗?
请楼上指教.楼主的一大段SQL不想用存储过程,可以用以下方法
with adoquery do
begin
Close;
SQL.Clear;
SQL.Add('你的SQL1');
SQL.Add('你的SQL2');
.....
Parameters[0].Value:=参数;
......
OPen;
end;一个adoquery就够了.
with adoquery do
begin
Close;
SQL.Clear;
SQL.text:='select *'+
' from abc'+
' where a=b';
OPen;
end;
adoquery.sql属性,在里面写,不要在代码里一行行的加
const
//创建临时表
ctemp = 'insert into ....... '
+ '.....'
+ '.....'
+ '.....'
+ '.....';
var
strsql : string;
begin
strsql := 'select ...'
+ '.....';end;
sql.LoadFromFile('ztzb.txt');