C#调用存储过程
2012-02-08 00:27
148 查看
1、调用没有输入输出参数的存储过程
存储过程:
CREATE PROC GETAllBooks
AS
BEGIN
SELECT * FROM Books
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetAllBooks";
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
2、调用有输入参数的存储过程
存储过程:
CREATE PROC ProInput
@bookname varchar(20)
AS
BEGIN
INSERT INTO Books Values('ddd777',@bookname,2)
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@bookname",SqlDbType.VarChar,20)
};
param[0].Value = "测试程序";
cmd.Parameters.Add(param[0]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
3、调用有输出参数的存储过程
存储过程:
CREATE PROC ProOutput
@id int output
AS
BEGIN
INSERT INTO Books Values('ddd777','output parameter',2)
set @id=@@identity
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProOutput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
};
param[0].Direction = ParameterDirection.Output;
cmd.Parameters.Add(param[0]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString());
4、调用有输入输出参数的存储过程
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputOutput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "测试程序";
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString());
5、调用有输入返回值参数的存储过程
存储过程:
Create ProcProInputReturn
@bookname varchar(20)
AS
BEGIN
INSERT INTO Books Values('www1010',@bookname,2)
return @@identity
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputReturn";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.Int,4)
};
param[0].Value = "书的名称";
param[1].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[1].Value.ToString());
6、调用有输入输出返回值的存储过程
存储过程:
create proc ProInputoutputReturn
@id int output,
@bookname varchar(20)
AS
begin
INSERT INTO Books Values('www10414',@bookname,2)
set @id=@@identity
return @@rowcount
end
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputoutputReturn";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "书的名称";
param[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
cmd.Parameters.Add(param[2]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString()+"<br/>");
Response.Write(param[2].Value.ToString());
7、具有返回值与记录集的存储过程
存储过程:
create proc prooutputresult
@id int output,
@bookname varchar(20)
as
begin
INSERT INTO Books Values('www10414',@bookname,2)
set @id=@@identity
select * from books
return @@rowcount
end
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "prooutputresult";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "书的名称";
param[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
cmd.Parameters.Add(param[2]);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
Response.Write(param[0].Value.ToString()+"<br/>");
Response.Write(param[2].Value.ToString());
8、返回多个记录集的存储过程
存储过程:
Create proc getmultiLog
as
begin
select * from books
select * from admin
end
调用过程:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "getmultiLog";
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
GridView2.DataSource = ds.Tables[1];
GridView2.DataBind();
存储过程:
CREATE PROC GETAllBooks
AS
BEGIN
SELECT * FROM Books
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetAllBooks";
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
2、调用有输入参数的存储过程
存储过程:
CREATE PROC ProInput
@bookname varchar(20)
AS
BEGIN
INSERT INTO Books Values('ddd777',@bookname,2)
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@bookname",SqlDbType.VarChar,20)
};
param[0].Value = "测试程序";
cmd.Parameters.Add(param[0]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
3、调用有输出参数的存储过程
存储过程:
CREATE PROC ProOutput
@id int output
AS
BEGIN
INSERT INTO Books Values('ddd777','output parameter',2)
set @id=@@identity
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProOutput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
};
param[0].Direction = ParameterDirection.Output;
cmd.Parameters.Add(param[0]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString());
4、调用有输入输出参数的存储过程
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputOutput";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "测试程序";
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString());
5、调用有输入返回值参数的存储过程
存储过程:
Create ProcProInputReturn
@bookname varchar(20)
AS
BEGIN
INSERT INTO Books Values('www1010',@bookname,2)
return @@identity
END
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputReturn";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.Int,4)
};
param[0].Value = "书的名称";
param[1].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[1].Value.ToString());
6、调用有输入输出返回值的存储过程
存储过程:
create proc ProInputoutputReturn
@id int output,
@bookname varchar(20)
AS
begin
INSERT INTO Books Values('www10414',@bookname,2)
set @id=@@identity
return @@rowcount
end
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ProInputoutputReturn";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "书的名称";
param[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
cmd.Parameters.Add(param[2]);
Response.Write(cmd.ExecuteNonQuery().ToString() + "<br/>");
Response.Write(param[0].Value.ToString()+"<br/>");
Response.Write(param[2].Value.ToString());
7、具有返回值与记录集的存储过程
存储过程:
create proc prooutputresult
@id int output,
@bookname varchar(20)
as
begin
INSERT INTO Books Values('www10414',@bookname,2)
set @id=@@identity
select * from books
return @@rowcount
end
调用示例:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "prooutputresult";
cmd.Connection = conn;
SqlParameter[] param = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@bookname",SqlDbType.VarChar,20),
new SqlParameter("@val",SqlDbType.VarChar,20)
};
param[0].Direction = ParameterDirection.Output;
param[1].Value = "书的名称";
param[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(param[0]);
cmd.Parameters.Add(param[1]);
cmd.Parameters.Add(param[2]);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
Response.Write(param[0].Value.ToString()+"<br/>");
Response.Write(param[2].Value.ToString());
8、返回多个记录集的存储过程
存储过程:
Create proc getmultiLog
as
begin
select * from books
select * from admin
end
调用过程:
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["StrConn"].ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "getmultiLog";
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
GridView2.DataSource = ds.Tables[1];
GridView2.DataBind();
相关文章推荐
- C#如何调用存储过程
- C#中调用存储过程,通过DataGridView显示
- 使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)
- C# 调用存储过程 Sql Server存储过程 存储过程报错,程序中的try
- C#中调用SQL存储过程实现登录认证
- C#中调用存储过程(带返回参数 And 无返回参数)
- C#中调用存储过程
- C#调用存储过程详解--- 增、删、改、查
- 在C#中调用存储过程(WinForm)
- C# 调用存储过程
- c#调用存储过程两种方法
- C#调用存储过程(转)
- c# 调用存储过程
- c#调用存储过程两种方法
- C# 调用存储过程
- 关于C#调用存储过程,带输出参数,存储过程
- 如何在C#中调用存储过程
- C#调用存储过程返回值
- c#调用存储过程
- C# 调用带有输出参数的分页存储过程