c#调用带输出参数的存储过程
2015-09-17 17:41
435 查看
sql server中编写一个存储过程:
- CREATE PROCEDURE ProGetPWD
- @username varchar(20),
- @password varchar(20) OUTPUT
- AS
- BEGIN
- SELECT @password = password
- FROM Users
- WHERE username = @username
- END
--------------------------
下面是.NET中调用存储过程的方法:
- string strConnection = "user id=sa;password=sa;initial catalog=MyTest;Server=YHB;Connect Timeout=30";
- using (SqlConnection conn = new SqlConnection(strConnection))
- {
- conn.Open();
- using (SqlCommand sqlComm = conn.CreateCommand())
- {
- //设置要调用的存储过程的名称
- sqlComm.CommandText = "GetPWD";
- //指定SqlCommand对象传给数据库的是存储过程的名称而不是sql语句
- sqlComm.CommandType = CommandType.StoredProcedure;
- SqlParameter username = sqlComm.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 20));
- //指明"@username"是输入参数
- username.Direction = ParameterDirection.Input;
- //为“@username”参数赋值
- username.Value = this.txt_username.Text;
- SqlParameter password = sqlComm.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 20));
- //指定"@password"为输出参数
- password.Direction = ParameterDirection.Output;
- //执行
- sqlComm.ExecuteNonQuery();
- //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
- string passwrod = Convert.ToString(sqlComm.Parameters["@password"].Value);
- MessageBox.Show(passwrod);
- }
- }
相关文章推荐
- C# in Depth (第十章 扩展方法)
- c# 字符串切割 split
- c# 委托 事件
- C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空
- C# winform 拖拽效果
- C# 策略模式
- C# Math.Round
- C# windows服务:通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)
- 重新学习C# 之 数据类型(一)
- C#之Socket编程
- C#的List排序
- 关于C#地球转火星坐标,以及火星转地球坐标
- 分钟学会 log4net(c#) 配置及使用
- C#实现TreeView节点拖拽的方法
- C#类库中log4net的配置
- C#之接口
- .NET基础--异常处理
- .NET基础--继承
- C#学习笔记(二)
- C#搜索TreeView子节点,保留父节点的方法