c#执行存储过程的简单实例
if exists(select name from sysobjects where type='p' and name='checkUserProc')
drop procedure checkUserProc
go
create procedure checkUserProc(
@checkResult int output,
@checkUser varchar(50),
@checkPassword varchar(100)
)
as
if exists(select * from userTable where u_name=@checkUser and u_password=@checkPassword)
set @checkResult=1 --通過驗(yàn)證
else if exists(select * from userTable where u_name=@checkUser)
set @checkResult=2 --密碼錯(cuò)誤
else
set @checkResult=0 --用戶名不存在
return isnull(@checkResult,2)
go
?
//登陸按鈕的Onclick事件,使用sqlcommand
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
?
?? ?
??? protected void Page_Load(object sender, EventArgs e)
??? {
??? }
??? protected void check_Click(object sender, EventArgs e)
??? {
??????? Dbconn db = new Dbconn();
??????? SqlConnection conn = db.openConn();
??????? SqlCommand cmd = new SqlCommand("checkUserProc",conn);
??????? cmd.CommandType = CommandType.StoredProcedure;
??????? cmd.Parameters.Add("@checkUser",SqlDbType.VarChar);
??????? cmd.Parameters["@checkUser"].Value = userName.Text.ToString();
??????? cmd.Parameters.Add("@checkPassword", SqlDbType.VarChar);
??????? cmd.Parameters["@checkPassword"].Value = userPassword.Text.ToString();
??????? cmd.Parameters.Add("@checkResult",SqlDbType.Int);
??????? cmd.Parameters["@checkResult"].Direction = ParameterDirection.Output;
??????? conn.Open();
??????? cmd.ExecuteNonQuery();
??????? switch (Convert.ToInt32( cmd.Parameters["@checkResult"].Value))
?? ???????? {
?? ??? ???? case 0:
??????????????? Response.Write("用戶名不存在");
??????????????? break;
??????????? case 2:
??????????????? Response.Write("密碼錯(cuò)誤");
??????????????? break;
??????????? case 1:
??????????????? Response.Write("登陸成功");
??????????????? break;
?? ?
??????????? default:
??????????????? break;
?? ???????? }
????????? ?
??? }
}
?/*登陸驗(yàn)證存儲(chǔ)過程*/
if exists(select name from sysobjects where type='p' and name='checkUserProc')
drop procedure checkUserProc
go
create procedure checkUserProc(
@checkResult int output,
@checkUser varchar(50),
@checkPassword varchar(100)
)
as
if exists(select * from userTable where u_name=@checkUser and u_password=@checkPassword)
set @checkResult=1 --通過驗(yàn)證
else if exists(select * from userTable where u_name=@checkUser)
set @checkResult=2 --密碼錯(cuò)誤
else
set @checkResult=0 --用戶名不存在
return isnull(@checkResult,2)
go
?
//登陸按鈕的Onclick事件
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
?
?? ?
??? protected void Page_Load(object sender, EventArgs e)
??? {
??? }
??? protected void check_Click(object sender, EventArgs e)
??? {
??????? Dbconn db = new Dbconn();
??????? SqlConnection conn = db.openConn();
??????? SqlCommand cmd = new SqlCommand("checkUserProc",conn);
??????? cmd.CommandType = CommandType.StoredProcedure;
??????? cmd.Parameters.Add("@checkUser",SqlDbType.VarChar);
??????? cmd.Parameters["@checkUser"].Value = userName.Text.ToString();
??????? cmd.Parameters.Add("@checkPassword", SqlDbType.VarChar);
??????? cmd.Parameters["@checkPassword"].Value = userPassword.Text.ToString();
??????? cmd.Parameters.Add("@checkResult",SqlDbType.Int);
??????? cmd.Parameters["@checkResult"].Direction = ParameterDirection.Output;
??????? conn.Open();
??????? cmd.ExecuteNonQuery();
??????? switch (Convert.ToInt32( cmd.Parameters["@checkResult"].Value))
?? ???????? {
?? ??? ???? case 0:
??????????????? Response.Write("用戶名不存在");
??????????????? break;
??????????? case 2:
??????????????? Response.Write("密碼錯(cuò)誤");
??????????????? break;
??????????? case 1:
??????????????? Response.Write("登陸成功");
??????????????? break;
?? ?
??????????? default:
??????????????? break;
?? ???????? }
????????? ?
??? }
}
//another one,使用sqlDataAdapter:
??? protected void Page_Load(object sender, EventArgs e)
??? {
??????? if (!Page.IsPostBack)
??????? {
??????????? Dbconn db = new Dbconn();
??????????? SqlConnection conn = db.openConn();
??????????? SqlDataAdapter sdpt = new SqlDataAdapter();
??????????? SqlCommand cmd = new SqlCommand("selectUser", conn);
??????????? cmd.CommandType = CommandType.StoredProcedure;
??????????? cmd.Parameters.Add("@topI",SqlDbType.Int);
??????????? cmd.Parameters["@topI"].Value = 5;
??????????? conn.Open();
??????????? cmd.ExecuteNonQuery();
??????????? sdpt.SelectCommand = cmd;
??????????? DataSet ds = new DataSet();
??????????? sdpt.Fill(ds);
??????????? testRpt.DataSource = ds.Tables[0];
??????????? testRpt.DataBind();
??????????? cmd.Dispose();
??????????? sdpt.Dispose();
??????????? conn.Close();
??????? }
??? }
--查詢存儲(chǔ)過程
create procedure selectUser
(
@topI int
)
as
exec( 'select top '+ @topI +' * from test order by id desc')
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/majiangquan/archive/2009/03/25/1421489.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的c#执行存储过程的简单实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘原理与算法_【干货】UIUC韩家
- 下一篇: 关于Visual C#.NET数据库开发