asp.net mvc 3 - How can I call stored procedure returning both a table and a return statement in a controller in mvc entity framework 4? -
i have stored procedure returns table return errorstate int. how can call stored procedure controller in mvc.
(i'm using entity framework 4)
stored procedure : create proc [dbo].[sp_list24](@emp dbo.list readonly ,@error int output) begin begin try declare @error_state int
set @error_state = 1
update dbo.employee set mobile=mobile+11 eid=2 select * @emp set @error=@error_state; select @error
end try begin catch set @error = error_state() select @error
end catch end go
here 'list' userdefined table type passing table valued parameter.
create type [dbo].[list] table( [eid] [int] null, [name] [nvarchar](50) null, [age] [int] null ) in controller:
[httppost] public jsonresult onclick(int id) { using (examemployeeentities1 eee = new examemployeeentities1()) { //create table value parameter datatable dt = new datatable(); datarow dr = dt.newrow(); dt.columns.add("eid"); dt.columns.add("name"); dt.columns.add("age"); dt.rows.add(1, "john", 21); dt.rows.add(2, "albert", 22); dt.rows.add(3, "martin", 33); sqlparameter emp1 = new sqlparameter("@emp", sqldbtype.structured); emp1.value = dt; emp1.typename = "list"; //eee.database.executesqlcommand("exec sp_list4 @emp",emp1); var resp = eee.database.sqlquery<item>("exec sp_list20 @emp", emp1); return json(resp.tolist()); } }
in view: paragraph id "sdf" , button id "asd"!!!!!
script: $("#asd").click(function () { var = 1; var content = "<table><th>id</th><th>name </th><th>age</th></tr>"; $.ajax({ type: 'post', url: '/home/onclick/', data: { 'id': }, datatype: 'json', success: function (data) { $.each(data, function (i, item) { content += "<tr>"; content += "<td style=\"background-color:white\">" + data[i].eid + "</td>"; content += "<td style=\"background-color:white\">" + data[i].name + "</td>"; content += "<td style=\"background-color:white\">" + data[i].age + "</td>"; content += "</tr>"; }); content += "</table>"; $('#sdf').html(content); alert("success"); }, error: function () { } }); }); result displays:
id name age
1 john 21
2 albert 22
3 martin 23
it doesn't return @error_state. tried using select @error_state also. don't work. how can call stored procedure returning both table , return statement?
an output parameter enough solve it..try including
var outparam = new sqlparameter(); outparam.parametername = "error"; outparam.sqldbtype = sqldbtype.int; outparam.direction = parameterdirection.output; var resp = eee.database.sqlquery<item>("exec sp_list23 @emp,@error out", emp1,outparam); var error = (int)outparam.value;
Comments
Post a Comment