当前位置:编程学习 > C#/ASP.NET >>

问一linq调用存储过程 sql语句拼接问题

string stprice = "i.金额>0 and i.金额<500";//金额,价格预算

Ritem.DataSource = dw.selectItembyevry(stprice);//linq调用存储过程
Ritem.DataBind();

存储过程:
ALTER PROCEDURE [dbo].[selectItembyevry]

@price nvarchar(500)
AS
--declare @stsql nvarchar(4000)


BEGIN
declare @stsql nvarchar(4000)
--declare @price2 nvarchar(500)
--set @price2='i.金额>0 and i.金额<500'
set @stsql='select i.[Id]      ,i.[项目分类]      ,i.[项目名称]      ,i.[地区]      ,i.[行业]
      ,i.[金额]      ,i.[方式]      ,i.[回报]      ,i.[期限]      ,i.[详细内容]      ,i.[资产性质]
      ,i.[资产状态]      ,i.[资产评估]      ,i.[用户提交时间]      ,i.[入本地库时间]
      ,i.[客服修改时间]      ,i.[是否已入本地库]      ,i.[UserId]      ,i.[是否已生成静态页并推送]
      ,ica.CaName,fm.方式名称,indu.行业名称
      ,c.城市名 from Items I, ItemCa ica, City c, FinancingMode fm, Industry indu where
       i.项目分类=ica.CaId and i.地区=c.城市Id and i.方式=fm.方式Id and indu.行业Id=i.行业 and i.是否自营项目=0 and '
       --i.金额>0 and i.金额<500
       
       --print @stsql
       set @stsql=@stsql+@price
       exec(@stsql)
END

运行提示:Ritem 使用的是无效数据源。有效数据源必须实现 IListSource 或 IEnumerable。求帮助 --------------------编程问答-------------------- 把这个存储过程拖进linq2sql类时,返回的尽然是int类型的数据。求原因啊……倒………… --------------------编程问答-------------------- 添加函数的时候有没选返回内容的类型? --------------------编程问答-------------------- 后面我还是退回用sqlhellp来解决了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,