Как выбрать первые 4 столбца из моего файла CSV и выполнить запрос - PullRequest
0 голосов
/ 06 марта 2012

У меня есть метод, и я хочу запросить 3-й столбец в моем CSV-файле, НО я хочу отображать только первые четыре столбца.Я надеюсь сделать что-то вроде

SELECT * FROM Table WHERE User-Name='%PERSON%'

, но применить это к моему CSV-файлу.

    public static DataTable ParseCSV(string path, String pattern)
    {
        if (!File.Exists(path))
            return null;
        string full = Path.GetFullPath(path);
        string file = Path.GetFileName(full);
        string dir = Path.GetDirectoryName(full);
        string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
            + "Data Source=\"" + dir + "\\\";"
            + "Extended Properties=\"text;HDR=No;FMT=Delimited\"";
        string query = "SELECT F1, F2, F3 FROM " + file;
        DataTable dTable = new DataTable();
        OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
        try
        {
            dAdapter.Fill(dTable);
        }
        catch (InvalidOperationException ioe)
        {
            Console.WriteLine(ioe.Message.ToString());
        }
        dAdapter.Dispose();
        return dTable;
    }


    private void buttonSearch_Click(object sender, EventArgs e)
    {
        path = textBoxFilePath.Text.ToString().Trim();
        //BindingSource to sync DataTable and DataGridView
        BindingSource bSource = new BindingSource();
        //set the BindingSource DataSource
        bSource.DataSource = ParseCSV(path, pattern);
        dataGridView1.DataSource = bSource;
    }

Также в моем CSV-файле есть строка заголовка, которую я хотел бы использовать в качестве строки заголовка для моего DataGridView.

Спасибо

1 Ответ

1 голос
/ 06 марта 2012

измените ваш оператор выбора на:

query = "select F3 from " + file;

, чтобы получить третий столбец.Если вы хотите добавить заголовки, измените строку подключения на HDR = YES и обращайтесь к столбцам по имени так же, как при обычном запросе:

query = "select mycolumn from " + file;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...