2012-01-10 62 views
1

在web应用程序中,我使用LINQ调用程序,程序是参数程序。但是,当我将参数传递它给错误的,这是我的代码:在LINQ中使用存储过程?

MyLinqsDataContext DataContext=new MyLinqsDataContext(); 
     int eno=Convert.ToInt32 (txtempno.Text); 
     int dep=Convert .ToInt32 (txtDep.Text); 
     var sqr = from qr in DataContext.USP_Insert_Emp(eno, txtName.Text, dep) 
     select qr; 

不过是给错误,如:

找不到源类型int查询模式的实现。找不到Select

这是我的PROC:

create procedure USP_Insert_Emp(@empid int,@ename varchar(60),@deptid int) 
as 
begin 
    insert into Emp (empid ,ename,deptid) values (@empid ,@ename ,@deptid) 
end 
+0

好像你正在向你的存储过程传递错误类型的参数。你能否发布你的存储过程源代码? – 2012-01-10 04:22:51

+0

谢谢你的回复Hoang Huynh,我把我的proc。 – 2012-01-10 06:22:07

回答

1

DataContext.USP_Insert_Emp返回int

您收到的错误是因为您正尝试拨打而不是IEnumerable<T>拨打Select

+0

谢谢Leppie,所以我必须改变我的代码。我是新来的linq。你能帮我解决这个问题吗? – 2012-01-10 08:42:20

+0

'int r = DataContext.USP_Insert_Emp(eno,txtName.Text,dep);' – leppie 2012-01-10 08:43:07

+0

谢谢Leppie先生,它工作正常,对我非常有帮助,你能给我什么看法吗?研究linq。 – 2012-01-10 08:53:54