大众计算机学习网欢迎诸位!收藏本站注 册登 陆
常用教程:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 教程 > 文章页

NET调用带有输入输出(Output、Input)参数的SQL存储过程

Admin | 2009-4-19 21:45:27 | ReadNums | 13973 | 标签 数据库Sql,VFP,Access | 打印本页
     

  以下阐述在net程序设计中,如何调用带有输入输出参数的SQL存储过程实例;

  一、SQL存储过程代码实例

  create procedure itemCodes

  @itemName1 varchar(50),

  @sizeName1 varchar(50),

  @itemCode varchar(5) output

  as

  select @itemCode=itemmap.ItemCode from itemmap inner join item on itemmap.ItemCode=item.ItemCode where(item.ItemName1=@itemName1 and item.SizeName1=@sizeName1)

  go

  二、Net代码

  ①代码实例

  string strConn = "server=localhost;uid=sa;pwd=sa;database=PAT";

  SqlConnection conn = new SqlConnection(strConn);

  conn.Open();

  SqlCommand cmd = new SqlCommand("getItemCode", conn);

  cmd.CommandType = CommandType.StoredProcedure;

  //输入参数

  SqlParameter param1 = new SqlParameter("@itemName1", SqlDbType.VarChar, 50);

  param1.Value = itemName1;

  cmd.Parameters.Add(param1);

  //输入参数

  SqlParameter param2 = new SqlParameter("@sizeName1", SqlDbType.VarChar, 50);

  param2.Value = sizeName1;

  cmd.Parameters.Add(param2);

  //输出参数

  SqlParameter param = new SqlParameter("@itemCode", SqlDbType.VarChar, 50);

  param.Direction = ParameterDirection.Output;

  cmd.Parameters.Add(param);

  //执行存储过程

  cmd.ExecuteNonQuery();

  conn.Close();

  //输出值

  Console.WriteLine(param.Value);

  ②代码实例

  string strConn = "server=localhost;uid=sa;pwd=sa;database=PAT";

            SqlConnection conn = new SqlConnection(strConn);

            conn.Open();

            SqlCommand cmd = new SqlCommand("getItemCode", conn);

            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter[] parameters =

            {

                new SqlParameter("@itemName1",SqlDbType.VarChar,50),

                new SqlParameter("@sizeName1",SqlDbType.VarChar,50),

                new SqlParameter("@itemCode",SqlDbType.VarChar,50)

            };

            parameters[0].Value = "Chai";

            parameters[1].Value = "500g";

            parameters[2].Direction = ParameterDirection.Output;

            foreach (var p in parameters)

            {

                cmd.Parameters.Add(p);

            }

            cmd.ExecuteNonQuery();

            conn.Close();

            //输出值

            Console.WriteLine(parameters[2].Value);


问题未解决:在线咨询

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日