c# - How to modify Stored Procedure or ASP.net Code to get autogenerated Id after inserting new row -
i m creating new user registration moduleand wrote following stored proc.
procedure [dbo].[addnewuser] -- add parameters stored procedure here @usertype varchar(10), @useremail varchar(70), @userpass varchar(20), @fullname varchar(70), @city varchar(70), @state int, @allowalerts bit, @allowletter bit, @aboutme nvarchar(160) begin -- set nocount on added prevent result sets -- interfering select statements. set nocount on; if ((select count(user_info._id) user_info useremail @useremail) = 0) begin insert user_info (usertype,useremail,userpass,fullname,city,[state],allowalerts,allowletters,aboutme) values ( @usertype, @useremail, @userpass , @fullname, @city, @state, @allowalerts, @allowletter, @aboutme ) select @@identity newid end else begin print '-1' end
and following simple asp.net c# code try use
public int registernewuser(string usertype, string useremail, string userpass, string fullname, string city, string state, string allowalerts, string allowletter, string aboutme) { con = new sqlconnection(connectionstring); cmd = new sqlcommand(); cmd.connection = con; cmd.commandtype = commandtype.storedprocedure; cmd.commandtext = "addblogentry"; cmd.parameters.add("@usertype", sqldbtype.varchar).value = usertype; cmd.parameters.add("@useremail", sqldbtype.varchar).value = useremail; cmd.parameters.add("@userpass", sqldbtype.varchar).value = userpass; cmd.parameters.add("@fullname", sqldbtype.varchar).value = fullname; cmd.parameters.add("@city", sqldbtype.varchar).value = city; cmd.parameters.add("@state", sqldbtype.varchar).value = convert.toint16(state); cmd.parameters.add("@allowalerts", sqldbtype.varchar).value = convert.toint16(allowalerts); cmd.parameters.add("@allowletter", sqldbtype.varchar).value = convert.toint16(allowletter); cmd.parameters.add("@aboutme", sqldbtype.varchar).value = aboutme; try { if (con.state != connectionstate.open) con.open(); cmd.executenonquery(); con.close(); con.dispose(); // code written here can return userid(success) or -1(if username registered) return 0; } catch (exception ex) { con.close(); con.dispose(); return 0; } }
through c# code want return either auto generated userid stored procedures returns me or if user alrady exists want return -1
please tell how this?
thanks in advance :)
yes, can use executescalar() , change
print '-1'
into
select -1 newid
Comments
Post a Comment