C# 操作存储过程
来源:互联网 发布:科勒橱柜怎么样 知乎 编辑:程序博客网 时间:2024/05/19 13:18
1. 只返回单一记录集的存储过程
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
// 设置sql连接
cmd.Connection = sqlconn;
// 如果执行语句
cmd.CommandText = "Categoriestest1";
// 指定执行语句为存储过程
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter dp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// 填充dataset
dp.Fill(ds);
// 以下是显示效果
GridView1.DataSource = ds;
GridView1.DataBind();
存储过程Categoriestest1
CREATE PROCEDURE Categoriestest1
AS
select *
from Categories
GO
2. 没有输入输出的存储过程
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlconn;
cmd.CommandText = "Categoriestest2";
cmd.CommandType = CommandType.StoredProcedure;
sqlconn.Open();
// 执行并显示影响行数
Label1.Text = cmd.ExecuteNonQuery().ToString();
sqlconn.Close();
存储过程Categoriestest2
CREATE PROCEDURE Categoriestest2 AS
insert into dbo.Categories
(CategoryName,[Description],[Picture])
values ('test1','test1',null)
GO
3. 有返回值的存储过程
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlconn;
cmd.CommandText = "Categoriestest3";
cmd.CommandType = CommandType.StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("rval", SqlDbType.Int,4)
};
// 将参数类型设置为 返回值类型
parameters[0].Direction = ParameterDirection.ReturnValue;
// 添加参数
cmd.Parameters.Add(parameters[0]);
sqlconn.Open();
// 执行存储过程并返回影响的行数
Label1.Text = cmd.ExecuteNonQuery().ToString();
sqlconn.Close();
// 显示影响的行数和返回值
Label1.Text += "-" + parameters[0].Value.ToString() ;
存储过程Categoriestest3
CREATE PROCEDURE Categoriestest3
AS
insert into dbo.Categories
(CategoryName,[Description],[Picture])
values ('test1','test1',null)
return @@rowcount
GO
4. 有输入参数和输出参数的存储过程
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlconn;
cmd.CommandText = "Categoriestest4";
cmd.CommandType = CommandType.StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("@Id", SqlDbType.Int,4) ,
new SqlParameter("@CategoryName", SqlDbType.NVarChar,15) ,
};
// 设置参数类型
parameters[0].Direction = ParameterDirection.Output; // 设置为输出参数
parameters[1].Value = "testCategoryName";
// 添加参数
cmd.Parameters.Add(parameters[0]);
cmd.Parameters.Add(parameters[1]);
sqlconn.Open();
// 执行存储过程并返回影响的行数
Label1.Text = cmd.ExecuteNonQuery().ToString();
sqlconn.Close();
// 显示影响的行数和输出参数
Label1.Text += "-" + parameters[0].Value.ToString() ;
存储过程Categoriestest4
CREATE PROCEDURE Categoriestest4
@id int output,
@CategoryName nvarchar(15)
AS
insert into dbo.Categories
(CategoryName,[Description],[Picture])
values (@CategoryName,'test1',null)
set @id = @@IDENTITY
Go
- C#存储过程操作
- C# 操作存储过程
- C#操作MSSQL存储过程
- c#操作oracle 存储过程
- C#操作类存储过程方法
- C#操作Mysql数据库的存储过程
- C#操作存储过程,输入参数,返回结果
- C#操作存储过程,输入参数,返回结果
- C#操作存储过程,输入参数,返回结果
- C# 数据库操作类(存储过程)及调用方法
- C#连接Oracle数据库通过存储过程操作数据库
- C#连接Oracle数据库通过存储过程操作数据库
- C# 数据库操作类(存储过程)及调用方法
- C#调用存储过程操作oracle数据库中的表
- C# 中的数据库操作~存储过程篇Mysql SqlServer
- C#款额存储过程
- C#执行存储过程
- C#调用存储过程
- 粥是养胃佳品
- Range作为map的Key
- u-boot移植随笔:自定义u-boot命令点灯
- VC实现开机自运行
- linux编程的108种奇淫巧计-7(Lock-free实验)【答网友问】
- C# 操作存储过程
- C语言之第一天目标
- 十一、过滤器Filter
- [转载]C#隐藏、C#重写、C#重载的区别
- parseInt 小陷阱
- C语言之第二天目标
- Concat string using join without push
- sqlite3 的文件打开影响速度
- C语言之第三天目标