文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>无废话ADO.NET 第四章 存储过程

无废话ADO.NET 第四章 存储过程

时间:2011-02-24  来源:林晓明

            //  创建数据库连接
SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");
// 创建命令,这里执行存储过程,第一个参数是存储过程的名字
SqlCommand salesCMD = new SqlCommand("SalesByCategory", nwindConn);
// 类型设置为 StoredProcedure 表示执行的是存储过程
salesCMD.CommandType = CommandType.StoredProcedure;
// 为此存储过程添加参数,参数名字;类型;长度
SqlParameter myParm = salesCMD.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15);
// 设置此参数的值
myParm.Value = "Beverages";

nwindConn.Open();

SqlDataReader myReader
= salesCMD.ExecuteReader();

Console.WriteLine(
"{0}, {1}", myReader.GetName(0), myReader.GetName(1));

while (myReader.Read())
{
Console.WriteLine(
"{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1));
}

myReader.Close();
nwindConn.Close();

  Parameter 对象可以使用 Parameter 构造函数来创建,或通过调用 Command 的 Parameters 集合的 Add 方法来创建。Parameters.Add 会将构造函数参数或现有 Parameter 对象用作输入。在将 Parameter 的 Value 设置为空引用时,请使用 DBNull.Value。

  对于 Input 参数之外的参数,必须设置 ParameterDirection 属性来指定参数类型是 InputOutput、Output 还是 ReturnValue。以下示例显示创建 Input、Output 和 ReturnValue 参数之间的差异。

            SqlCommand sampleCMD = new SqlCommand("SampleProc", nwindConn);
sampleCMD.CommandType
= CommandType.StoredProcedure;

SqlParameter sampParm
= sampleCMD.Parameters.Add("RETURN_VALUE", SqlDbType.Int);
// 设置参数类型为返回值
sampParm.Direction = ParameterDirection.ReturnValue;

sampParm
= sampleCMD.Parameters.Add("@InputParm", SqlDbType.NVarChar, 12);
sampParm.Value
= "Sample Value";

sampParm
= sampleCMD.Parameters.Add("@OutputParm", SqlDbType.NVarChar, 28);
// 设置参数类型为输出
sampParm.Direction = ParameterDirection.Output;

nwindConn.Open();

SqlDataReader sampReader
= sampleCMD.ExecuteReader();

Console.WriteLine(
"{0}, {1}", sampReader.GetName(0), sampReader.GetName(1));

while (sampReader.Read())
{
Console.WriteLine(
"{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1));
}

sampReader.Close();
nwindConn.Close();

// 通过参数可以得到返回值和输出值
Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters["@OutputParm"].Value);
Console.WriteLine(
"RETURN_VALUE: {0}", sampleCMD.Parameters["RETURN_VALUE"].Value);
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载