SqlParameter[] parms = new SqlParameter[5];
parms[0] = new SqlParameter("@PNRNumber", search.PnrNumber);
parms[1] = new SqlParameter("@InvoiceNumber", search.InvoiceNumber);
parms[2] = new SqlParameter("@StarDate",search.StarDate);//
parms[3] = new SqlParameter("@EndDate",search.EndDate);//search.StarDate search.EndDate均为datetime类型
parms[4] = new SqlParameter("@PaymentStatus",search.Status);
DataTable table = SqlHelper.ExecuteDataTable(CommandType.StoredProcedure, "proc_search", parms);
return table;
alter proc proc_search
@PNRNumber varchar(20),
@InvoiceNumber varchar(50),
@StarDate datetime,
@EndDate datetime,
@PaymentStatus varchar(50)
as
declare @str varchar(2000)
set @str='select PaymentInfo.PNR,PaymentInfo.EpositDate,PaymentInfo.InvoiceNumber,PaymentInfo.PayType,PaymentInfo.PaymentStatus,
PaymentInfo.AgentCode,PaymentInfo.SubAgentCode,PassengerInfo.FirstName,PassengerInfo.LastName
from PaymentInfo,PassengerInfo where PaymentInfo.PassengerId=PassengerInfo.PassengerId '
if(@PNRNumber<>'')
begin
set @str=@str+' and PaymentInfo.PNR='+@PNRNumber
end
if(@InvoiceNumber<>'')
begin
set @str=@str+' and PassengerInfo.InvoiceNumber='+@InvoiceNumber
end
if(@StarDate<>'' and @EndDate='')
begin
set @str=@str+' and PassengerInfo.EpositDate>'+@StarDate
end
if(@StarDate='' and @EndDate<>'')
begin
set @str=@str+' and PassengerInfo.EpositDate<'+@EndDate
end
if(@StarDate<>'' and @EndDate<>'')
begin
set @str=@str+' and PassengerInfo.EpositDate between'+@StarDate+' and '+@EndDate
end
if(@PaymentStatus<>'')
begin
set @str=@str+@PaymentStatus
end
set @str=@str+' order by PaymentInfo.EpositDate desc '
exec(@str)传入的时候老是在sqlhepler里异常 报出现无法转换为datetime类型的问题
解决方案 »
- asp.net中cs文件为何可以取得aspx的gridview的对象
- 这个问题困了我两个小时了
- 请教各位一个棘手问题
- 求下拉列表无限分类的好算法。。
- 请帮我写一个包含C#语句的aspx文件
- 得到所有Cookie
- [请问:public static DataSet GetListSql()和public DataSet GetListSql()定义办法有什么区别]
- 为什么我用dataset.writexml写出来的xml文件却不能用dataset.readxml读取?
- 请问有ASP.net使用免费的客户端UI吗?最好有教程
- c#导出excel后编辑提示改xls可能含有与网页不兼容的功能,并且保存后会有一个含有网页的文件夹,如何在导出excel的时候设置?
- 正则表达式问题 html取值
- .NET中遇到了js一个小问题,请各位大仙指点迷经。谢谢
declare @InvoiceNumber varchar(50)
declare @StarDate datetime
declare @StarDatedatetime datetime
declare @PaymentStatus varchar(50)
set @PNRNumber=''
set @InvoiceNumber=''
set @StarDate=cast('2012-03-14' as datetime)
set @StarDate=cast('2012-04-20' as datetime)
set @PaymentStatus=' and PaymentInfo.PaymentStatus=''Audit'''
exec proc_search @PNRNumber,@InvoiceNumber,@StarDate,@StarDatedatetime,@PaymentStatus
我这样执行这个存储过程一点问题都没有
就是不知道怎么把c#中的datetime传给存储过程中的datetime类型参数
快烦死了
http://www.cnblogs.com/VitoriaTang/archive/2006/08/04/467765.html
http://www.bcbbs.net/news/Content32211.aspx