微软自带报表rdlc使用之绑定数据源

微软自带报表rdlc使用之绑定数据源绑定数据 usingSystem usingSystem Collections Generic usingSystem Data usingSystem Data SqlClient usingSystem Linq usingSystem Text usingSystem Threading Tasks namespaceFcw RDLC publicc

//绑定数据

 public SQLHelper() { } #region 建立数据库连接对象 ///  /// 建立数据库连接 ///  /// 
  
    返回一个数据库的连接SqlConnection对象 
   public static SqlConnection init() { try { conn = new SqlConnection(connstr); if (conn.State != ConnectionState.Open) { conn.Open(); } } catch (Exception e) { throw new Exception(e.Message.ToString()); } return conn; } #endregion #region 设置SqlCommand对象 ///  /// 设置SqlCommand对象 ///  /// SqlCommand对象 /// 命令文本 /// 命令类型 /// 参数集合 private static void SetCommand(SqlCommand cmd, string cmdText, CommandType cmdType, SqlParameter[] cmdParms) { cmd.Connection = conn; cmd.CommandText = cmdText; cmd.CommandType = cmdType; if (cmdParms != null) { cmd.Parameters.AddRange(cmdParms); } } #endregion #region 执行相应的sql语句,返回相应的DataSet对象 ///  /// 执行相应的sql语句,返回相应的DataSet对象 ///  /// sql语句 /// 
       
         返回相应的DataSet对象 
        public static DataSet GetDataSet(string sqlstr) { DataSet ds = new DataSet(); try { init(); SqlDataAdapter ada = new SqlDataAdapter(sqlstr, conn); ada.Fill(ds); conn.Close(); } catch (Exception e) { throw new Exception(e.Message.ToString()); } return ds; } #endregion #region 执行相应的sql语句,返回相应的DataSet对象 ///  /// 执行相应的sql语句,返回相应的DataSet对象 ///  /// sql语句 /// 表名 /// 
         
           返回相应的DataSet对象 
          public static DataSet GetDataSet(string sqlstr, string tableName) { DataSet ds = new DataSet(); try { init(); SqlDataAdapter ada = new SqlDataAdapter(sqlstr, conn); ada.Fill(ds, tableName); conn.Close(); } catch (Exception e) { throw new Exception(e.Message.ToString()); } return ds; } #endregion #region 执行不带参数sql语句,返回一个DataTable对象 ///  /// 执行不带参数sql语句,返回一个DataTable对象 ///  /// 相应的sql语句 /// 
          
            返回一个DataTable对象 
           public static DataTable GetDataTable(string cmdText) { SqlDataReader reader; DataTable dt = new DataTable(); try { init(); cmd = new SqlCommand(cmdText, conn); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); dt.Load(reader); reader.Close(); } catch (Exception ex) { // throw new Exception(ex.Message.ToString()); } return dt; } #endregion #region 执行带参数的sql语句或存储过程,返回一个DataTable对象 ///  /// 执行带参数的sql语句或存储过程,返回一个DataTable对象 ///  /// sql语句或存储过程名 /// 命令类型 /// 参数集合 /// 
             
               返回一个DataTable对象 
              public static DataTable GetDataTable(string cmdText, CommandType cmdType, SqlParameter[] cmdParms) { SqlDataReader reader; DataTable dt = new DataTable(); try { init(); cmd = new SqlCommand(); SetCommand(cmd, cmdText, cmdType, cmdParms); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); dt.Load(reader); reader.Close(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return dt; } #endregion #region 执行不带参数sql语句,返回所影响的行数 ///  /// 执行不带参数sql语句,返回所影响的行数 ///  /// 增,删,改sql语句 /// 
              
                返回所影响的行数 
               public static int ExecuteNonQuery(string cmdText) { int count; try { init(); cmd = new SqlCommand(cmdText, conn); count = cmd.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return count; } #endregion #region 执行带参数sql语句或存储过程,返回所影响的行数 ///  /// 执行带参数sql语句或存储过程,返回所影响的行数 ///  /// 带参数的sql语句和存储过程名 /// 命令类型 /// 参数集合 /// 
                 
                   返回所影响的行数 
                  public static int ExecuteNonQuery(string cmdText, CommandType cmdType, SqlParameter[] cmdParms) { int count; try { init(); cmd = new SqlCommand(); SetCommand(cmd, cmdText, cmdType, cmdParms); count = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); conn.Close(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return count; } #endregion #region 执行不带参数sql语句,返回一个从数据源读取数据的SqlDataReader对象 ///  /// 执行不带参数sql语句,返回一个从数据源读取数据的SqlDataReader对象 ///  /// 相应的sql语句 /// 
                  
                    返回一个从数据源读取数据的SqlDataReader对象 
                   public static SqlDataReader ExecuteReader(string cmdText) { SqlDataReader reader; try { init(); cmd = new SqlCommand(cmdText, conn); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return reader; } #endregion #region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的SqlDataReader对象 ///  /// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的SqlDataReader对象 ///  /// sql语句或存储过程名 /// 命令类型 /// 参数集合 /// 
                     
                       返回一个从数据源读取数据的SqlDataReader对象 
                      public static SqlDataReader ExecuteReader(string cmdText, CommandType cmdType, SqlParameter[] cmdParms) { SqlDataReader reader; try { init(); cmd = new SqlCommand(); SetCommand(cmd, cmdText, cmdType, cmdParms); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return reader; } #endregion #region 执行不带参数sql语句,返回结果集首行首列的值object ///  /// 执行不带参数sql语句,返回结果集首行首列的值object ///  /// 相应的sql语句 /// 
                      
                        返回结果集首行首列的值object 
                       public static object ExecuteScalar(string cmdText) { object obj; try { init(); cmd = new SqlCommand(cmdText, conn); obj = cmd.ExecuteScalar(); conn.Close(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return obj; } #endregion #region 执行带参数sql语句或存储过程,返回结果集首行首列的值object ///  /// 执行带参数sql语句或存储过程,返回结果集首行首列的值object ///  /// sql语句或存储过程名 /// 命令类型 /// 返回结果集首行首列的值object /// 
                          public static object ExecuteScalar(string cmdText, CommandType cmdType, SqlParameter[] cmdParms) { object obj; try { init(); cmd = new SqlCommand(); SetCommand(cmd, cmdText, cmdType, cmdParms); obj = cmd.ExecuteScalar(); conn.Close(); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return obj; } #endregion } 

}

 private void Form1_Load(object sender, EventArgs e) { //绑定list_order DataTable dtorder = SQLHelper.GetDataTable(@"select o.id as orderid,o.ordercode,o.opername,o.ordername,o.comname,o.createtime,o.barcode from fcwOrder o"); list_order.DataSource = dtorder; list_order.DisplayMember = "ordercode"; list_order.ValueMember = "ordername"; } private void button1_Click(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); //构造多选的order列表 foreach (object obj in list_order.SelectedItems) { DataRowView drv = (DataRowView)obj; if(drv!=null) { sb.Append("'" + drv.Row["ordercode"].ToString() + "',"); } } //为report绑定数据源 if (sb.ToString().Length > 2) { string orderwhere = sb.ToString().Substring(0, sb.ToString().Length - 1); string strsql = @"select o.id as orderid,o.ordercode,o.opername,o.ordername,o.comname,o.createtime,o.barcode, d.id as detailid,d.ordercode detailordercode,d.procode,d.proname,d.promodel,d.pronum from fcwOrder o join fcwOrderDetails d on d.ordercode=o.ordercode where o.ordercode in (" + orderwhere + ")"; DataTable dtorder2 = SQLHelper.GetDataTable(strsql); reportViewer1.LocalReport.DataSources.Clear(); reportViewer1.LocalReport.EnableExternalImages = true; reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Order",dtorder2)); reportViewer1.LocalReport.SetParameters(new ReportParameter("para_Total",dtorder2.Rows.Count.ToString())); reportViewer1.RefreshReport(); } } } 

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222531.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:35
下一篇 2026年3月17日 下午3:36


相关推荐

  • 快速生成 HTML 表格代码

    快速生成 HTML 表格代码可以使用以下网站生成表格代码https://www.tablesgenerator.com/html_tables#

    2022年7月13日
    26
  • CSS改变鼠标样式(图片)

    CSS改变鼠标样式(图片)下面就来介绍下步骤方法:首页把鼠标图标格式转换成.ico格式,大小为32*32转换格式网址为:https://www.easyicon.net/covert/然后在CSS样式中增加代码:*{cursor:url(../images/shubiao.ico),auto;}大功告成啦~~~说明:图片大小最好是32*32的大小Css中的cursor属性不仅仅需…

    2022年5月31日
    37
  • C语言飞机游戏

    C语言飞机游戏300行代码实现最简易的飞机小游戏,简单有趣,快来试试

    2022年5月12日
    51
  • HashMap底层实现原理解析

    HashMap底层实现原理解析一 HashMap 底层实现原理解析我们常见的有数据结构有三种结构 1 数组结构 2 链表结构 3 哈希表结构下面我们来看看各自的数据结构的特点 1 数组结构 存储区间连续 内存占用严重 空间复杂度大优点 随机读取和修改效率高 原因是数组是连续的 随机访问性强 查找速度快 缺点 插入和删除数据效率低 因插入数据 这个位置后面的数据在内存中都要往后移动 且大小固定不易动态扩展 2 链表结构 存储区间离散 占用内存宽松 空间复杂度小优点 插入删除速度快 内存利用率高 没有固定大小 扩展灵活

    2026年3月20日
    1
  • UDP广播与多播

    UDP广播与多播一 UDP 广播 1 广播的概念 使用 UDP 协议进行信息的传输之前不需要建议连接 换句话说就是客户端向服务器发送信息 客户端只需要给出服务器的 ip 地址和端口号 然后将信息封装到一个待发送的报文中并且发送出去 至于服务器端是否存在 或者能否收到该报文 客户端根本不用管 网络上的广播指 由一台主机向该主机所在子网内 同一个局域网 的所有主机发送数据的方式 2 广播的特点 实现广播 离不开

    2026年3月19日
    2
  • 深度评测智谱 GLM-4.5,到底是什么水平?

    深度评测智谱 GLM-4.5,到底是什么水平?

    2026年3月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号