繁体   English   中英

如何在所有列数据上运行sql查询并将结果导出到csv -in c#

[英]how to run sql query on all column data and export result to csv -in c#

我在访问数据库上进行了sql查询。 在datagridview2中,我在第一列中看到已安装程序,在第二栏中看到该程序安装了多少台计算机。

col1   col2
xxxx    1
yyyy    2
zzzz    3

OleDbCommand command2 = new OleDbCommand();
            command2.Connection = connection;
            string query = "SELECT Item_1, count(Item_1)   FROM  (SELECT  Item_1 FROM Audit_data where Category_ID = 500)    group by Item_1 having (count(*)>0)   ";

                   command2.CommandText = query;

            OleDbDataAdapter da1 = new OleDbDataAdapter(command2);

            da1.Fill(dt2);
            dataGridView2.DataSource = dt2;
            dataGridView2.AutoResizeColumns();

当在datagridview2上更改选择时,datagridview3仅包含安装程序的计算机名称:

 string selcell = Convert.ToString(dataGridView2.CurrentCell.Value);



            OleDbCommand command3 = new OleDbCommand();
            command3.Connection = connection;
            string query = "select distinct Fully_Qualified_Domain_Name from Audit_Data, Computer_master where Item_1= '"+selcell+"'    and category_id=500      and Audit_Data.computer_id = Computer_master.computer_id     ";     

            command3.CommandText = query;

            OleDbDataAdapter da3 = new OleDbDataAdapter(command3);

            da3.Fill(dt3);
            dataGridView3.DataSource = dt3;
            dataGridView3.AutoResizeColumns();

我想运行这些查询以获取具有所有已安装计算机名称的所有软件。 我不知道如何在col 1上的所有数据上运行查询并将其导出到csv这样。

xxxx; 1; qwer_pc
yyyy; 2; asdf_pc;
         qwer_pc
zzzz; 3; asdf_pc;
         qwer_pc;
         yxcv_pc

谁能帮助解决这个问题? 或者我可以以某种方式组合两个查询?

该解决方案比我想象的要容易:

SELECT distinct Item_1,Fully_Qualified_Domain_Name FROM Audit_data,Computer_master where Category_ID = 500      and    Audit_data.computer_id = Computer_master.Computer_id          

CSV导出如下:

     string csv = string.Empty;

//Add the Header row for CSV file.
foreach (DataGridViewColumn column in dataGridView4.Columns)
{
    csv += column.HeaderText + ',';
}

//Add new line.
csv += "\r\n";

//Adding the Rows
foreach (DataGridViewRow row in dataGridView4.Rows)
{
    foreach (DataGridViewCell cell in row.Cells)
    {
        //Add the Data rows.
        csv += cell.Value.ToString().Replace(",", ";") + ',';
    }

    //Add new line.
    csv += "\r\n";
}

//Exporting to CSV.
string folderPath = txt_csv_exp_path.Text;
File.WriteAllText(folderPath +txt_exp_file_name.Text +" .csv", csv);

MessageBox.Show("CSV file saved.");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM