C#调用存储过程(转)
来源:互联网 发布:黄金交易软件排名 编辑:程序博客网 时间:2024/05/01 18:49
C#调用存储过程
2013-05-21 09:44:24 来源:金华职业技术学院《数据库技术及应用》省级精品课程网站 浏览:3659次 using System.Data.SqlClient;
//如果存储过程没有输入和输出参数,而且不返回查询结果
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
//如果存储过程带输入参数
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("存储过程输入参数变量名", 数据类型));
//如cmd.Parameters.Add(new SqlParameter("@riqi", SqlDbType.DateTime, 8));
//把具体的值传给输入参数
cmd.Parameters["存储过程输入参数"].Value =具体的值;
//如cmd.Parameters["@riqi"].Value = this.textBox1.Text;
//执行存储过程
cmd.ExecuteNonQuery();
//如果存储过程带输出参数
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("存储过程输出参数变量名", 数据类型));
cmd.Parameters["存储过程输出参数变量名"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
//显示输出参数的值cmd.Parameters["存储过程输出参数变量名"].Value
//如this.textBox3.Text = cmd.Parameters["@ItemCount"].Value.ToString();
//如果存储过程带输出和输出参数
SqlCommand cmd = new SqlCommand("存储过程名", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("存储过程输入参数变量名", 数据类型));
cmd.Parameters["存储过程输入参数"].Value =具体的值;
cmd.Parameters.Add(new SqlParameter("存储过程输出参数变量名", 数据类型));
cmd.Parameters["存储过程输出参数变量名"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
//显示输出参数的值cmd.Parameters["存储过程输出参数变量名"].Value
//如this.textBox3.Text = cmd.Parameters["@ItemCount"].Value.ToString();
调用带输入参数的存储过程
【例2】创建存储过程AddNewCategory实现往Category表中添加新的商品类别,新的商品分类名称CategoryName作为输入参数输入。
CREATE PROCEDURE AddNewCategory
(@categoryName nvarchar(50))
AS
INSERT INTO Category (CategoryName) VALUES (@categoryName)
【例】调用上述存储过程AddNewCategory
try
{
// 数据库连接字符串
string connStr = "server=localhost;uid=sa;pwd=;database=eshop";
// 创建Connection 对象
SqlConnection conn = new SqlConnection(connStr);
// 打开数据库连接
conn.Open();
SqlCommand cmd = new SqlCommand("AddNewCategory", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@categoryName", SqlDbType.NVarChar,50));
cmd.Parameters["@categoryName"].Value = this.textBox1.Text;
cmd.ExecuteNonQuery();
MessageBox.Show("插入成功");
}
catch
{
MessageBox.Show("操作不成功");
return;
}
调用带输入和输出参数的存储过程
【例1】创建存储过程ShoppingCartItemCount获取某购物车中购物种数并作为输出参数输出,购物车编号CartID为输入参数。
CREATE Procedure [dbo].[ShoppingCartItemCount]
( @CartID nvarchar(50),
@ItemCount int OUTPUT
)
AS
SELECT @ItemCount = COUNT(ProductID) FROM ShoppingCart
WHERE CartID = @CartID
【例】调用上述存储过程ShoppingCartItemCount
try
{
// 数据库连接字符串
string connStr = "server=localhost;uid=sa;pwd=;database=eshop";
// 创建Connection 对象
SqlConnection conn = new SqlConnection(connStr);
// 打开数据库连接
conn.Open();
SqlCommand cmd = new SqlCommand("ShoppingCartItemCount", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@CartID", SqlDbType.NVarChar,50));
cmd.Parameters["@CartID"].Value = this.textBox2.Text;
cmd.Parameters.Add(new SqlParameter("@ItemCount",SqlDbType.Int));
cmd.Parameters["@ItemCount"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
//显示输出参数的值cmd.Parameters["存储过程输出参数变量名"].Value
this.textBox3.Text = cmd.Parameters["@ItemCount"].Value.ToString();
}
catch
{
MessageBox.Show("操作不成功");
return;
}
- C#调用存储过程(转)
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C# 调用存储过程
- c# 调用存储过程
- C#调用存储过程
- c# 调用 存储过程
- C# 调用存储过程
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C#调用存储过程
- C# 调用存储过程
- C# 调用存储过程
- cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1
- 比较全面的一个自定义导航栏
- Android UI(五)云通讯录项目之联系人列表,带侧滑选择,带搜索框
- POJ_3067 Japan[ 逆序数 树状数组 or 归并排序)
- Apache配置虚拟目录
- C#调用存储过程(转)
- 个人技术博客站点
- C学习笔记 控制数组的有效长度并统计数组中重复数字。
- 刷题-Maximum Depth of Binary Tree
- Java EE 7 教程 前言
- 我要的你给不起!
- Android5.0 BLE 周边(BluetoothLeAdvertiser)
- 管道使用注意事项
- 基本音频格式