Sql Server 带参数的存储过程执行方法
Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法
上一篇文章介绍了带参数的SQL语句执行方法和不带参数的存储过程执行方法,这一篇我们介绍带参数的存储过程执行方法,它调用通用数据访问类(SqlHelper)执行 SqlHelper.ExecuteNonQuery()方法,使用示例为;
SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, sqlexec, myparm);
其中传递的4个参数:
“conn”—为链接字符;
“ CommandType.StoredProcedure”—表示要执行的SQL存储过程类型;
“sqlexec”—要执行的SQL存储过程;
“myparm”—为传递的参数。它需要参数的初始化、赋予参数名称、设定类型和长度、取得其值等。
protected void btnExecuteProcParm_Click(object sender, EventArgs e)
{
//初始化参数
SqlParameter myparm = new SqlParameter();
//获取参数的名称
myparm.ParameterName = "title";
//设置变量的类型和长度
myparm.SqlDbType = SqlDbType.VarChar;
//这里是不是要使用本系统数据库中的数据类型
VarChar? myparm.Size = 100;
//视数据表中的定义情况而定
//获取参数的值
myparm.Value = "ExecuteNonQuery";
//获取要执行的存储过程
string sqlexec = "sp_getGISnews";
SqlCommand cmd = new SqlCommand();
//定义对象资源保存的范围,一但using范围结束,将释放对方所占的资源
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
//打开连接
conn.Open();
//调用执行方法
SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, sqlexec, myparm);
}
}
当ExecuteNonQuery()执行 select,结果总是返回-1,ExecuteNonQuery()对于 Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为 -1要了解更多情况可查看本人网站的相关内容。