当前位置: 首页 > 编程语言 > C#

从存储过程返回int值并在asp.net代码中验证登录表单分享

时间:2023-04-11 02:07:53 C#

从存储过程返回int值并在asp.net代码中验证登录表单这段代码有效真正的命令,因为我尝试了很多次,但没有得到有效结果//SQL存储过程代码集ANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERPROC[dbo].[login_proc]@usernameVarchar=50,@passwordvarchar=50as声明@user_namevarchar,@pass_wordvarchar,@resultvarcharSet@user_name=@usernameSet@pass_word=@passwordifEXISTS(selectusername,passwordfromdatawhereusername=@user_name)set@result=1elseset@result=0返回@result和asp.net代码是SqlConnectionconn=newSqlConnection("DataSource=ANAGUIB-LAPNEW\SQLEXPRESS;InitialCatalog=account;IntegratedSecurity=True");SqlCommandcmd=newSqlCommand("login_proc",conn);cmd.CommandType=CommandType.StoredProcedure;SqlParameterparamReturnValue=newSqlParameter();paramReturnValue.ParameterName="@result";paramReturnValue.SqlDbType=SqlDbType.Int;cmd.Parameters.Add(paramReturnValue);cmd.Parameters["@result"].Direction=ParameterDirection.Output;conn.Open();cmd.Parameters.AddWithValue("@username",TextBox1.Text);cmd.Parameters.AddWithValue("@password",TextBox2.Text);cmd.ExecuteScalar();字符串返回值=(string)cmd.Parameters["@result"].Value;if(retunvalue=="1"){Response.Redirect("hello.aspx");}else{Response.Write("error");}conn.Close();你正在做.ExecuteScalar()所以你想从存储过程返回单行,单列结果集-但是你没有在存储过程的末尾选择任何东西程序!您需要将存储过程return@result的最后一行更改为SELECT@result然后它应该可以添加另一个参数ALTERPROC[dbo].[login_proc]@usernameVarchar=50,@passwordVarchar=50,@resultintOUTPUT可以在这里看到一个例子。你有没有试过使用return@result和在c#intresultID=Convert.ToInt32(cmd.ExecuteScalar());同时删除下一行cmd.Parameters[""].value;我无法记录任何建议,以防存储过程和代码落后Next,任何人都可以为此提供解决方案,,,plz,,,以上是c#学习教程:从存储过程返回int值并签入asp.netcodetovalidateloginformsharethewholethingifyes每个人都有用,需要了解更多关于C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: