使用ADO.NET操作SQL Server存储过程
2007-05-29 08:44
471 查看
1、调用无输入输出参数的存储过程
创建无输入输出参数的存储过程
create procedure testProc
as
select pub_id,title_id,price,pubdate
from titles
where price is not null
order by pub_id
使用下面的程序来调用这个存储过程。在调用该存储过程时,需要告诉Command对象要调用的是存储过程。
<form id="form1" runat="server">
<div>
<asp:DataGrid ID="dg" runat="server" />
</div>
</form>
SqlConnection Conn;
protected void Page_Load(object sender, EventArgs e)
{
Conn = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("testProc", Conn);
Comm.CommandType = CommandType.StoredProcedure;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
dg.DataSource = dr;
dg.DataBind();
Conn.Close();
}
2、调用带输入输出参数的存储过程
CREATE PROCEDURE sp_CheckPass
(@CHKName VARCHAR(30),@CHKPass VARCHAR(30),@ISValid VARCHAR(12) OUTPUT)
AS
IF EXISTS(SELECT UserName from WebUsers WHERE UserName=@CHKName and
UserPass=@CHKPass)
SELECT @ISValid='GOOD'
ELSE
SELECT @ISValid='BAD'
SqlConnection Conn;
protected void Page_Load(object sender, EventArgs e)
{
Conn = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("sp_CheckPass", Conn);
Comm.CommandType = CommandType.StoredProcedure;
SqlParameter parm = Comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 30);
parm.Value = "aa";
parm = Comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 30);
parm.Value = "aa";
parm = Comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 12);
parm.Direction = ParameterDirection.Output;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
Response.Write(Comm.Parameters["@ISValid"].Value);
Conn.Close();
}
创建无输入输出参数的存储过程
create procedure testProc
as
select pub_id,title_id,price,pubdate
from titles
where price is not null
order by pub_id
使用下面的程序来调用这个存储过程。在调用该存储过程时,需要告诉Command对象要调用的是存储过程。
<form id="form1" runat="server">
<div>
<asp:DataGrid ID="dg" runat="server" />
</div>
</form>
SqlConnection Conn;
protected void Page_Load(object sender, EventArgs e)
{
Conn = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("testProc", Conn);
Comm.CommandType = CommandType.StoredProcedure;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
dg.DataSource = dr;
dg.DataBind();
Conn.Close();
}
2、调用带输入输出参数的存储过程
CREATE PROCEDURE sp_CheckPass
(@CHKName VARCHAR(30),@CHKPass VARCHAR(30),@ISValid VARCHAR(12) OUTPUT)
AS
IF EXISTS(SELECT UserName from WebUsers WHERE UserName=@CHKName and
UserPass=@CHKPass)
SELECT @ISValid='GOOD'
ELSE
SELECT @ISValid='BAD'
SqlConnection Conn;
protected void Page_Load(object sender, EventArgs e)
{
Conn = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("sp_CheckPass", Conn);
Comm.CommandType = CommandType.StoredProcedure;
SqlParameter parm = Comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 30);
parm.Value = "aa";
parm = Comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 30);
parm.Value = "aa";
parm = Comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 12);
parm.Direction = ParameterDirection.Output;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
Response.Write(Comm.Parameters["@ISValid"].Value);
Conn.Close();
}
相关文章推荐
- C#操作数据库,分页、执行存储过程等 [二] - ADO.NET入门之中
- 使用系统表根据存储过程名字生成ADO.NET数据库访问代码
- ADO.NET Entity Framework 如何:使用存储过程定义模型(实体框架)
- ADO.NET操作存储过程
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- Linq to Oracle 存储过程使用(使用 MS ADO.NET Provider)
- ADO.NET 使用中 BUG 汇报之一[使用OleDb操作SQL SERVER]
- 使用ADO.NET对象调用存储过程的输入和输出参数
- SSIS使用OleDB和Ado.Net两种方式调用 存储过程
- 使用 ADO.NET 访问 Oracle 9i 存储过程《收藏MSDN》
- 使用系统表根据存储过程名字生成ADO.NET数据库访问代码
- ADO.NET Entity Framework如何:使用存储过程定义模型(实体框架)
- 使用系统表根据存储过程名字生成ADO.NET数据库访问代码
- 使用 ADO.NET 访问 Oracle 9i 存储过程
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 在存储过程中使用事务处理 sql server 删除多表操作一致性的问题
- 使用ADO.NET 实体数据模型实现SQL存储过程调用
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- 在vb.net 里面实现对sql server 存储过程的操作