刚接触这东西,希望大家多指教,想写一个简单的存储过程如下:在存储过程中加入一个参数@Psql ,由程序调用时返回一个值,其实这个值就是SQL的where部分,即查询的条件。
CREATE PROCEDURE [dbo].[SelectMainTable] @Psql Varchar(240) ASselect * from 表 where @Psql //这里是如何写的呀?@Psql 的value比如是 '编号='12345'之类的'如果写成select * from 表 where @Psql 的话看来是不符合要求的。
见笑了,谢谢参与。
CREATE PROCEDURE [dbo].[SelectMainTable] @Psql Varchar(240) ASselect * from 表 where @Psql //这里是如何写的呀?@Psql 的value比如是 '编号='12345'之类的'如果写成select * from 表 where @Psql 的话看来是不符合要求的。
见笑了,谢谢参与。
解决方案 »
- 两个编辑框对应数据库字段是日期类型如何实现当写入第一个编辑框日期后第二个编辑框自动赋值并且在第一个编辑框的日期上加一年
- FastReport的getvalue事件问题
- windows中鼠标移动和点击的消息有哪些?
- 不知各位都学delphi 几年了?
- 程序出错,如何强制屏蔽WINDOWS的报错消息,而去执行已设定的语句
- 菜鸟问题
- Ehlib的合计问题
- 文本如何替换?怎么都达不到要求
- 哪位朋友有过用Delphi处理Excel2000文件的经验?
- windows一启动出现一个对话框! 说什么注册表改了!!!!怎么消除啊!!!
- Web Service开发完成后,如何将Web App Debugger Executable类型的应用程序编译成ISAPI或CGI类型
- 和SQL-SERVER连接,写入当天日期的问题,请帮忙!!
where xxx=@psql还差不多,where后直接跟@psql是不行 的。
var strSql:string;
var adocmd:TADOCommand;
strSql:='select * from table1 where field=:paramid';
adocmd:=TADOCommand.Create(self);
adocmd.ConnectionString:='';//你自己连接一下。
adocmd.CommandType := cmdText;
adocmd.CommandText:=strSql;
adocmd.Parameters.ParamByName('paramid').Value:=strTemp;
//假设你的值为strTemp
rs:=adocmd.Execute;我也有个问题,不知道delphi中有没有转义符啊?转义单引号。
如果存储过程中多一个表示字段的参数(@value,@FieldNum),比如说有姓名和地址两个字段
当想根据姓名查询时@FieldNum取1,@value取相应的值,当想用地址来查询时,@FieldNum取2 ,
不知行吗?
@sql='select * from table where '+@psql;
exec(@sql);@Psql 的value是 编号='12345'
则输入参数@psql='编号='+char(39)+'12345'+char(39)
Declare @sql as varchar(200) ;
@sql='select * from info_jibeng where '+@psql; //这一行有问题?
exec(@sql);
as
beign
Declare @sql as varchar(200) ;
set @sql='select * from info_jibeng where '+@psql;
exec(@sql);
end;
给分。