C#中调用SQL存储过程(带输入输出参数的例子)
来源:互联网 发布:mac 绝对路径 编辑:程序博客网 时间:2024/05/15 09:30
首先建立存储过程,默认为输入参数,输出参数后面要加output
/**
存储过程
create procedure queryStuNameById
@stuId varchar(10),--输入参数
@stuName varchar(10) output --输出参数
as
select @stuName=stuName from stuInfo where stuId=@stuId
*/
Command对象上设定输出参数类型,大小后,还要指明参数为输出参数。
//注意输出参数要设置大小,否则size默认为0,
sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);
//设置参数的类型为输出参数,默认情况下是输入,
sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
执行完命令后,还要通过Command对象获得输出参数的值。
name = sqlComm.Parameters["@stuName"].Value.ToString();
完整代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace StoreProduceTest
{
public class Program
{
static void Main(string[] args)
{
Operater op = new Operater();
string name = op.QueryStuNameById("1234");
Console.WriteLine(string.Format("学号为1234的学生的姓名为{0}", name));
}
}
public class Operater
{
private string ConStr = "server=.;database=User;uid=sa;pwd=1234";
private SqlConnection sqlCon = null;
private SqlCommand sqlComm = null;
SqlDataReader dr = null;
public string QueryStuNameById(string Id)
{
string name = "";
try
{
using (sqlCon = new SqlConnection(ConStr))
{
sqlCon.Open();
sqlComm = new SqlCommand("queryStuNameById", sqlCon);
//设置命令的类型为存储过程
sqlComm.CommandType = CommandType.StoredProcedure;
//设置参数
sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);
//注意输出参数要设置大小,否则size默认为0,
sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);
//设置参数的类型为输出参数,默认情况下是输入,
sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
//为参数赋值
sqlComm.Parameters["@stuId"].Value = "1234";
//执行
sqlComm.ExecuteNonQuery();
//得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
name = sqlComm.Parameters["@stuName"].Value.ToString();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return name;
}
}
}
改自:http://blog.163.com/pengpeng_614/blog/#m=0&t=1&c=fks_087067093083088069093095086095085081086067083087080074
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- [转]C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入输出参数的例子)
- C#中调用SQL存储过程(带输入参数的例子)
- C#中调用存储过程:带输入输出参数
- c#带输入输出参数调用存储过程
- C#调用带输入输出参数的存储过程
- asp.net 中调用SQL带输入输出的存储过程
- C#中调用输入输出参数的存储过程
- C#中调用输入输出参数的存储过程
- ASP.NET中调用存储过程带(输入输出)参数和返回值例子
- 存储过程输出参数:C#中调用输入输出参数的存储过程
- C#调用带参数的存储过程
- 转周立功谈工作经验
- 第一届顶嵌杯决赛第一题
- 重新回到这个地方,重新开始体会软件工程
- (转)C字节对齐
- LINUX字符设备驱动程序实例(scull)
- C#中调用SQL存储过程(带输入输出参数的例子)
- BSP introduction related with HW
- 转LDD3构造内核树
- 点灯游戏--一个动态创建组件的示例
- 转main函数测两个参数argc 和*argv[ ]
- 转一本好书和一位好朋友一样重要
- windows开放的端口
- Js获得浏览器的基本信息窗口大小,滚动条高度(document对象)
- 多维数据仓库基本概念