在C#中使用存储过程(带输入参数)
2010-05-28 21:24
239 查看
1首先在SQL Server中使用存储过程
CREATE procedure [dbo].[sp_dia]
@age int,
@tot int=0 output
as
select Sage,Sname
from Students
where Sage = @age;
select @tot = COUNT(*)
from Students
where Sage = @age
return @tot
2然后创建一个控制台应用程序项目
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace CallSp2
{
class CallSp2
{
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection(@"
server = ./WB_JAMES;
integrated security = SSPI;
database = master");
try
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_dia";
/////////
SqlParameter inparm = cmd.Parameters.Add(
"@age", SqlDbType.Int);
inparm.Direction = ParameterDirection.Input;
inparm.Value = 18;
///////////
SqlParameter ouparm = cmd.Parameters.Add(
"@tot", SqlDbType.Int);
ouparm.Direction = ParameterDirection.Output;
///////////////
SqlParameter retval = cmd.Parameters.Add(
"return_value", SqlDbType.Int);
retval.Direction = ParameterDirection.ReturnValue;
///////////
SqlDataReader rdr=cmd.ExecuteReader();
while(rdr.Read())
{
Console.WriteLine("{0} {1}"
, rdr[0].ToString().PadRight(5), rdr[1].ToString());
}
rdr.Close();
/////////
Console.WriteLine(
"The output parameter value is {0}",
cmd.Parameters["@age"].Value);
///////////
Console.WriteLine(
"The return value is {0}",
cmd.Parameters["return_value"].Value);
}
catch (System.Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
conn.Close();
}
}
}
}
CREATE procedure [dbo].[sp_dia]
@age int,
@tot int=0 output
as
select Sage,Sname
from Students
where Sage = @age;
select @tot = COUNT(*)
from Students
where Sage = @age
return @tot
2然后创建一个控制台应用程序项目
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace CallSp2
{
class CallSp2
{
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection(@"
server = ./WB_JAMES;
integrated security = SSPI;
database = master");
try
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_dia";
/////////
SqlParameter inparm = cmd.Parameters.Add(
"@age", SqlDbType.Int);
inparm.Direction = ParameterDirection.Input;
inparm.Value = 18;
///////////
SqlParameter ouparm = cmd.Parameters.Add(
"@tot", SqlDbType.Int);
ouparm.Direction = ParameterDirection.Output;
///////////////
SqlParameter retval = cmd.Parameters.Add(
"return_value", SqlDbType.Int);
retval.Direction = ParameterDirection.ReturnValue;
///////////
SqlDataReader rdr=cmd.ExecuteReader();
while(rdr.Read())
{
Console.WriteLine("{0} {1}"
, rdr[0].ToString().PadRight(5), rdr[1].ToString());
}
rdr.Close();
/////////
Console.WriteLine(
"The output parameter value is {0}",
cmd.Parameters["@age"].Value);
///////////
Console.WriteLine(
"The return value is {0}",
cmd.Parameters["return_value"].Value);
}
catch (System.Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
conn.Close();
}
}
}
}
相关文章推荐
- 在C#中使用存储过程(没有输入参数)
- ASP.net(c#) 在ACCESS数据库中利用参数使用存储过程例子(防SQL注入)
- 关于C#中如何调用有输入参数和输出参数的存储过程
- C#操作存储过程,输入参数,返回结果
- c#带输入输出参数调用存储过程
- oracle使用带有输入和输出参数的存储过程
- C#中调用输入输出参数的存储过程
- 【转】如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- C#操作存储过程,输入参数,返回结果
- C#使用带参数的存储过程
- ASP.net(c#) 在ACCESS数据库中利用参数使用存储过程例子(防SQL注入)
- C#使用带返回参数的存储过程
- C#中调用输入输出参数的存储过程
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 使用存储过程 操作数据库 2个输入参数 1个输出参数
- oracle使用带有输入和输出参数的存储过程
- C#操作存储过程,输入参数,返回结果
- 使用带输入输出参数的存储过程
- C#调用存储过程详解(带返回值、参数输入输出等)
- C#操作存储过程,输入参数,返回结果