c# 中调用存储过程集

来源:互联网 发布:手机版收音机不用网络 编辑:程序博客网 时间:2024/06/06 07:54


不返回结果的存储过程
conn.Open();
SqlCommand comm = conn.CreateCommand();
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = "shenhe";

comm.Parameters.Add("@dqrq", SqlDbType.VarChar);
comm.Parameters.Add("@dqsj", SqlDbType.VarChar);
comm.Parameters.Add("@sj1", SqlDbType.VarChar);
comm.Parameters.Add("@sj2", SqlDbType.VarChar);
comm.Parameters.Add("@shrq", SqlDbType.VarChar);

comm.Parameters["@dqrq"].Value = nowdate.ToString().Trim();
comm.Parameters["@dqsj"].Value = nowtime.ToString().Trim();
comm.Parameters["@sj1"].Value ="0"+sj1.ToString()+":00:00";
comm.Parameters["@sj2"].Value =sj2.ToString()+":00:00";
comm.Parameters["@shrq"].Value = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
conn.Close();

 

返回结果的存储过程执行
            conn.Open();       
            SqlCommand cmd = new SqlCommand("ls", conn);      //声明、定义命令
            cmd.CommandType = CommandType.StoredProcedure;    //命令类型为存储过程

            cmd.Parameters.Add("@num", SqlDbType.VarChar);    //存储过程所需要的参数
            cmd.Parameters["@num"].Value = "3167";            //参数赋值

            SqlDataAdapter da = new SqlDataAdapter(cmd);      //定义数据适配器
            DataSet ds = new DataSet();                       //定义数据集
            da.Fill(ds,"table");
            this.dataGridView1.DataSource = ds.Tables["table"].DefaultView;
            this.textBox1.Text = ds.Tables["table"].Rows[0]["姓名"].ToString();
            conn.Close();


返回结果的存储过程执行    和上面一个略有不同
            conn.Open();       
            SqlCommand cmd = new SqlCommand("ls", conn);      //声明、定义命令
            cmd.CommandType = CommandType.StoredProcedure;    //命令类型为存储过程

            cmd.Parameters.Add("@num", SqlDbType.VarChar);    //存储过程所需要的参数
            cmd.Parameters["@num"].Value = "3167";            //参数赋值

            SqlDataReader dr = cmd.ExecuteReader();          //定义数据读取
            while (dr.Read())
            {
                this.textBox1.Text = dr["姓名"].ToString();
                this.textBox2.Text = dr["地址"].ToString();
            }
            conn.Close();

 

执行存储过程、参数代表字段名并返回字段   

         存储过程写法如下,执行存储过程的方法如上

         create  proc ls
         @num varchar(20)  output
         as
         exec('select ' + @num+' from hyzl')
         GO
         字段名是有参数提供,并返回这个字段的内容 注意select的单引号和后面的空格 及from的单引号和空格
c#中执行如下:
            conn.Open();       
            SqlCommand cmd = new SqlCommand("ls", conn);      //声明、定义命令
            cmd.CommandType = CommandType.StoredProcedure;    //命令类型为存储过程

            cmd.Parameters.Add("@num", SqlDbType.VarChar);    //存储过程所需要的参数
            cmd.Parameters["@num"].Value = "会员卡号";            //参数赋值

            SqlDataAdapter da = new SqlDataAdapter(cmd);      //定义数据适配器
            DataSet ds = new DataSet();                       //定义数据集
            da.Fill(ds,"table");
            this.dataGridView1.DataSource = ds.Tables["table"].DefaultView;
            conn.Close();

 

 

原创粉丝点击