连接字符串
代码如下:
string conn = ConfigurationManager
ConnectionStrings["NorthwindConnectionString"]
ConnectionString;
confige文件
代码如下:
<connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=
;Initial Catalog=Northwind;Integrated Security=True" providerName="System
Data
SqlClient"/>
</connectionStrings>
只返回单一记录集的存储过程
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
// 设置sql连接
cmd
Connection = sqlconn;
// 如果执行语句
cmd
CommandText = "Categoriestest
";
// 指定执行语句为存储过程
cmd
CommandType = CommandType
StoredProcedure;
SqlDataAdapter dp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// 填充dataset
dpFill(ds);
// 以下是显示效果
GridViewDataSource = ds;
GridViewDataBind();
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
AS
select *
from Categories
GO
没有输入输出的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmdConnection = sqlconn;
cmdCommandText = "Categoriestest";
cmdCommandType = CommandTypeStoredProcedure;
sqlconnOpen();
// 执行并显示影响行数
LabelText = cmdExecuteNonQuery()ToString();
sqlconnClose();
存储过程Categoriestest
复制代码 代码如下:
CREATE PROCEDURE Categoriestest
AS
insert into dbo
Categories
(CategoryName
[Description]
[Picture])
values (
test
test
null)
GO
有返回值的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd
Connection = sqlconn;
cmd
CommandText = "Categoriestest
";
cmd
CommandType = CommandType
StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("rval"
SqlDbType
Int
)
};
// 将参数类型设置为 返回值类型
parameters[
]
Direction = ParameterDirection
ReturnValue;
// 添加参数
cmd
Parameters
Add(parameters[
]);
sqlconnOpen();
// 执行存储过程并返回影响的行数
LabelText = cmdExecuteNonQuery()ToString();
sqlconnClose();
// 显示影响的行数和返回值
LabelText += "" + parameters[]ValueToString() ;
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
AS
insert into dbo
Categories
(CategoryName
[Description]
[Picture])
values (
test
test
null)
return @@rowcount
GO
有输入参数和输出参数的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd
Connection = sqlconn;
cmd
CommandText = "Categoriestest
";
cmd
CommandType = CommandType
StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("@Id"
SqlDbType
Int
)
new SqlParameter("@CategoryName"
SqlDbType
NVarChar
)
};
// 设置参数类型
parameters[
]
Direction = ParameterDirection
Output; // 设置为输出参数
parameters[
]
Value = "testCategoryName";
// 添加参数
cmd
Parameters
Add(parameters[
]);
cmd
Parameters
Add(parameters[
]);
sqlconnOpen();
// 执行存储过程并返回影响的行数
LabelText = cmdExecuteNonQuery()ToString();
sqlconnClose();
// 显示影响的行数和输出参数
LabelText += "" + parameters[]ValueToString() ;
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
@id int output
@CategoryName nvarchar(
)
AS
insert into dbo
Categories
(CategoryName
[Description]
[Picture])
values (@CategoryName
test
null)
set @id = @@IDENTITY
GO
同时具有返回值输入参数输出参数的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd
Connection = sqlconn;
cmd
CommandText = "Categoriestest
";
cmd
CommandType = CommandType
StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("@Id"
SqlDbType
Int
)
new SqlParameter("@CategoryName"
SqlDbType
NVarChar
)
new SqlParameter("rval"
SqlDbType
Int
)
};
// 设置参数类型
parameters[
]
Direction = ParameterDirection
Output; // 设置为输出参数
parameters[
]
Value = "testCategoryName"; // 给输入参数赋值
parameters[
]
Direction = ParameterDirection
ReturnValue; // 设置为返回值
// 添加参数
cmd
Parameters
Add(parameters[
]);
cmd
Parameters
Add(parameters[
]);
cmd
Parameters
Add(parameters[
]);
sqlconnOpen();
// 执行存储过程并返回影响的行数
LabelText = cmdExecuteNonQuery()ToString();
sqlconnClose();
// 显示影响的行数输出参数和返回值
LabelText += "" + parameters[]ValueToString() + "" + parameters[]ValueToString();
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
@id int output
@CategoryName nvarchar(
)
AS
insert into dbo
Categories
(CategoryName
[Description]
[Picture])
values (@CategoryName
test
null)
set @id = @@IDENTITY
return @@rowcount
GO
同时返回参数和记录集的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd
Connection = sqlconn;
cmd
CommandText = "Categoriestest
";
cmd
CommandType = CommandType
StoredProcedure;
// 创建参数
IDataParameter[] parameters = {
new SqlParameter("@Id"
SqlDbType
Int
)
new SqlParameter("@CategoryName"
SqlDbType
NVarChar
)
new SqlParameter("rval"
SqlDbType
Int
) // 返回值
};
// 设置参数类型
parameters[
]
Direction = ParameterDirection
Output; // 设置为输出参数
parameters[
]
Value = "testCategoryName"; // 给输入参数赋值
parameters[
]
Direction = ParameterDirection
ReturnValue; // 设置为返回值
// 添加参数
cmd
Parameters
Add(parameters[
]);
cmd
Parameters
Add(parameters[
]);
cmd
Parameters
Add(parameters[
]);
SqlDataAdapter dp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// 填充dataset
dpFill(ds);
// 显示结果集
GridViewDataSource = dsTables[];
GridViewDataBind();
LabelText = "";
// 显示输出参数和返回值
LabelText += parameters[]ValueToString() + "" + parameters[]ValueToString();
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
@id int output
@CategoryName nvarchar(
)
AS
insert into dbo
Categories
(CategoryName
[Description]
[Picture])
values (@CategoryName
test
null)
set @id = @@IDENTITY
select * from Categories
return @@rowcount
GO
返回多个记录集的存储过程
c#代码部分
代码如下:
SqlConnection sqlconn = new SqlConnection(conn);
SqlCommand cmd = new SqlCommand();
cmd
Connection = sqlconn;
cmd
CommandText = "Categoriestest
";
cmd
CommandType = CommandType
StoredProcedure;
SqlDataAdapter dp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// 填充dataset
dpFill(ds);
// 显示结果集
GridViewDataSource = dsTables[];
GridViewDataBind();
// 显示结果集
GridViewDataSource = dsTables[];
GridViewDataBind();
存储过程Categoriestest
代码如下:
CREATE PROCEDURE Categoriestest
AS
select * from Categories
select * from Categories
GO