报告的连接字符串

已加入
2018年1月15日
留言内容
11
编程经验
Beginner
大家好,

我正在尝试查找有关如何使用报表创建C#Windows窗体的信息。关于如何从头开始创建报告的信息很多,但是我只能从一些下拉框中找到定义数据源的信息,并且需要设置连接等。
我来自Access女士数据库,在那里创建报告的方式更加简单,因为您创建的报告基于同一数据库。最初,当我开始向Windows窗体添加datagridview时,我需要添加dataconnection(选择数据库,然后将其添加到datagridview)相同的东西。
我设法找到如何通过代码创建数据连接,并且更易于操作。 Windows窗体报告可以做到这一点吗?
如下面的代码示例所示:

C#:
        //-- new connection will be created
        private OleDbConnection connection = new OleDbConnection();
        public DataForm()
        {
            InitializeComponent();
            //-- database location
            connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;
            Data Source=\\FeGrand\Shareddata\Tools\Feedback\Feedback.accdb";

private void btn_search_Click(object sender, EventArgs e)
        {
            try
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand();
                command.Connection = connection;
                string temp = PrepairWhereToQuery();

                string query = "SELECT * FROM tbl_main_data WHERE " + temp;
              
                command.CommandText = query;
                OleDbDataAdapter da = new OleDbDataAdapter(command);
                DataTable dt = new DataTable();
                da.Fill(dt);
                dgr_data.DataSource = dt;
                //-- rename headers
                dgr_data.Columns[0].HeaderText = "Record Nr";
                dgr_data.Columns[1].HeaderText = "Area";
                dgr_data.Columns[2].HeaderText = "TL/Manager/Head";
                dgr_data.Columns[3].HeaderText = "Coach";
                dgr_data.Columns[4].HeaderText = "Type of meeting";
                dgr_data.Columns[5].HeaderText = "Date";
                dgr_data.Columns[6].HeaderText = "Advantages";
                dgr_data.Columns[7].HeaderText = "Disadvantages";
                dgr_data.Columns[8].HeaderText = "Other Comments";
                //-- hide headers if necesary
                //this.dgr_data.Columns["record_id"].Visible = false;
                connection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error " + ex);
                connection.Close();
            }
        }

我正在寻找能够进一步发展自己的技能的起点  :)

问候
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,501
地点
悉尼,澳大利亚
编程经验
10+
如果您在谈论使用SQL Server Reporting Services并创建客户端报告,那么可以,可以使用数据适配器或数据读取器填充DataTable,然后将其用作报告的数据源。以下问题似乎与Web应用程序有关,但是在Windows窗体和Web窗体中,ReportViewer的用法基本上相同,因此您应该可以做几乎相同的事情。

//stackoverflow.com/questions/14203414/fill-report-from-datatable
 
已加入
2018年1月15日
留言内容
11
编程经验
Beginner
你好
我无法正常工作:-(
如果我只能举一个如何做的例子,那将真的很有帮助,但是我什么也找不到,这令人沮丧的是,我什至无法将值从文本框中传递给报表的查询... ...

任何想法如何解决这个问题?

问候。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,501
地点
悉尼,澳大利亚
编程经验
10+
这个想法是您尝试自己认为正确的事情,如果不起作用,则将其张贴在这里,向我们展示您所做的事情,并告诉我们您所做的确切情况。
 
最佳 底部