procedure mySelect(afields,atables :string;var aQuery :TQuery);
begin
if ( (afields = '') or (atables = '') ) then exit;
if aQuery <> nil Then
begin
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('select ' + afields + ' from ' + atables);
aQuery.Open;
end;
end;如此,还可写其它的应用,呵呵。
begin
if ( (afields = '') or (atables = '') ) then exit;
if aQuery <> nil Then
begin
aQuery.Close;
aQuery.SQL.Clear;
aQuery.SQL.Add('select ' + afields + ' from ' + atables);
aQuery.Open;
end;
end;如此,还可写其它的应用,呵呵。
解决方案 »
- 请问bussiness skin如何使用?
- 在哪里找到OpenGl的Glut库?
- 怎么去掉fastreport报表预览窗口中,左上角菜单栏中的preview字样?
- 急!怎么样用NMSMTP控件(Delphi6)来发送Html文件?(不是以附件方式)
- 求兼职程序员,up有分
- 好多个基础问题 今天看了几个小时书 对应pascal语法的几个疑惑
- 如何导出xml格式?
- [提问] 变长字符串在行文件(流文件)中的存取及其他
- delphi中如何进行乘方计算
- 怎么在程序中自动生成组件??急
- 用过Delphi6的谈谈体会和新特性
- [Error] RLINK32: Error opening file "C:\testpas.DFM"
老兄,好象不对吧,人家要的是储存过程
vablenames varchar,
vfieldnames varchar
as
begin
if vablenames ='atable' then
select vfieldnames from atable ;
else
if vablenames ='anothertable' then
select vfieldnames from anothertable ;
else
null
end if ;
试一下
end ;
vablenames varchar,
vfieldnames varchar
as
begin
if vablenames ='atable' then
select * from atable ;
else
if vablenames ='anothertable' then
select * from anothertable ;
else
null
end if ;
end if ;end ;
可能能行,上面的肯定不行
不好做!呵呵
好办法
CREATE PROCEDURE selectSQL(@tblName varchar(50),@tblfields varchar(100))
AS
declare @sqltext varchar(200)
set @sqltext =' select '+@tblfields + ' from '+@tblname
exec (@sqltext)
CREATE PROC TEST1
@tablenames varchar,
@fieldnames varchar
as
--select @fieldnames from @tablenames
declare @sqlstr NVarchar(300)
set @sqlstr=N'select'+@fieldnames +' from '+ @tablenames
exec sp_executesql @sqlstr
...