asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)
2015-10-09 14:53
676 查看
asp.net中怎样调用存储过程和存储过程的写法
创建一个只有输入参数的存储过程
create procedure proc_user
@name varchar(20),
@Password varchar(100)
as
select * from loginuser
where name like @name
---创建一个有输入和输出参数的存储过程
create procedure proc_usertext
@name varchar(20),
@blog varchar(100) output
as
select @blog = blog from loginuser where name = @name
---创建一个有输入和返回参数的存储过程
create PROCEDURE returnval
@name varchar(100),
@blog varchar(100) output
AS
begin
select @blog = blog from loginuser where name = @name
if(@blog is null)
set @blog = ''你还没有申请博客''
return execute(@blog ) --数据数型的转换
end
在asp.net中的调用
protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}
private void DataBind()
{
//只带输入参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("proc_user", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@name", "l%");
cmd.Parameters.AddWithValue("@Password", "lcs9702");
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
DropDownList1.DataSource = dr;
DropDownList1.DataTextField = "name";
DropDownList1.DataValueField = "use_id";
DropDownList1.DataBind();
}
private void textDataBind()
{
//带输入,输出参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("proc_usertext", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", "love");
cmd.Parameters.Add("@blog", SqlDbType.VarChar,100);
cmd.Parameters["@blog"].Direction = ParameterDirection.Output;
//cmd.Parameters.Add(new SqlParameter("@blog",SqlDbType.VarChar,100,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null));
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
TextBox1.Text = cmd.Parameters["@blog"].Value.ToString();
con.Close();
}
private void returnDataBind()
{
//带输入,返回参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("returnval", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", "lcs9702");
cmd.Parameters.Add(new SqlParameter("@blog", SqlDbType.VarChar, 100, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null));
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
TextBox2.Text = cmd.Parameters["@blog"].Value.ToString();
con.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
textDataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
returnDataBind();
}
创建一个只有输入参数的存储过程
create procedure proc_user
@name varchar(20),
@Password varchar(100)
as
select * from loginuser
where name like @name
---创建一个有输入和输出参数的存储过程
create procedure proc_usertext
@name varchar(20),
@blog varchar(100) output
as
select @blog = blog from loginuser where name = @name
---创建一个有输入和返回参数的存储过程
create PROCEDURE returnval
@name varchar(100),
@blog varchar(100) output
AS
begin
select @blog = blog from loginuser where name = @name
if(@blog is null)
set @blog = ''你还没有申请博客''
return execute(@blog ) --数据数型的转换
end
在asp.net中的调用
protected void Page_Load(object sender, EventArgs e)
{
DataBind();
}
private void DataBind()
{
//只带输入参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("proc_user", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@name", "l%");
cmd.Parameters.AddWithValue("@Password", "lcs9702");
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
DropDownList1.DataSource = dr;
DropDownList1.DataTextField = "name";
DropDownList1.DataValueField = "use_id";
DropDownList1.DataBind();
}
private void textDataBind()
{
//带输入,输出参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("proc_usertext", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", "love");
cmd.Parameters.Add("@blog", SqlDbType.VarChar,100);
cmd.Parameters["@blog"].Direction = ParameterDirection.Output;
//cmd.Parameters.Add(new SqlParameter("@blog",SqlDbType.VarChar,100,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null));
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
TextBox1.Text = cmd.Parameters["@blog"].Value.ToString();
con.Close();
}
private void returnDataBind()
{
//带输入,返回参数的存储过程的写法。
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand("returnval", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", "lcs9702");
cmd.Parameters.Add(new SqlParameter("@blog", SqlDbType.VarChar, 100, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null));
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
cmd.ExecuteNonQuery();
TextBox2.Text = cmd.Parameters["@blog"].Value.ToString();
con.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
textDataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
returnDataBind();
}
相关文章推荐
- 【翻译】了解ASP.NET MVC的HTML助手
- 使用Areas分离ASP.NET MVC项目
- Asp.net MVC23 使用Areas功能的常见错误
- asp.net检测是否为移动设备
- ASP.NET MVC3 Areas 分离项目 同名控制器(同名Controller) 演示demo
- (读书笔记)Asp.net Mvc 与WebForm 混合开发
- Asp.Net MVC 路由
- GridView控件如何显示序号
- ASP.NET如何定时调用WebService服务
- ASP基础入门第一篇(ASP技术简介)
- [ASP.NET]谈谈REST与ASP.NET Web API
- Asp.Net 之 基本控件FileUpload上传控件
- Asp.Net 之 下载文件的常用方式
- [转]OBOUT ASP.NET HTML Editor - Insert HTML
- asp.net mvc web api 可跨域方法
- spring @AspectJ @annotation
- ASP.NET如何定时调用WebService服务
- 表单和 HTML 辅助方法– ASP.NET MVC 4 系列
- ROS(10):mac 下树莓派Raspberry Pi 烧录 img
- Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性