Daten in DataGridView Speichern

DarKo87

Mitglied
Hallo,

Ich versuche mich gerade mit Windows Search Service, das klappt aber irgendwie nicht so richtig.
Leider werden meine Date nicht im DataGridView ausgegeben und das ganze ding bleibt leer :-/

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Search.Interop;
using System.Data.OleDb;
using System.Security.Permissions;

namespace WPWindowSearch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnQuit_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            string userQuery = txtBoxSearch.Text;

            CSearchManager manager = new CSearchManager();

            ISearchCatalogManager catalogManager = manager.GetCatalog("SystemIndex");
            ISearchQueryHelper queryHelper = catalogManager.GetQueryHelper();

            queryHelper.QueryMaxResults = 10;
            queryHelper.QuerySelectColumns = "System.ItemPathDisplay";
            queryHelper.QueryWhereRestrictions = "AND scope='file:'";
            queryHelper.QuerySorting = "System.DateModified DESC";

            string sqlQuery = queryHelper.GenerateSQLFromUserQuery(userQuery);

            using (System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(queryHelper.ConnectionString))
            {
                conn.Open();

                using (OleDbCommand command = new OleDbCommand(sqlQuery, conn))
                {
                    // execute the command, which returns the results as an OleDbDataReader.
                    using (OleDbDataReader WDSResults = command.ExecuteReader())
                    {
                        dataGridView1.DataSource = WDSResults;
                    }
                }

            }
        }
    }
}

Kann mir vielleicht jemand helfen?

Vielen Dank
 
Bitte kann mir niemand helfen? :-( Versteh nichtm wieso mein DataGridView leer bleibt. In einer Listbox, wird selbiges immer schön ausgeben.

Gruß
 
setzt du in der ListBox auch die DataSource mit dem reader?
der wird ja eigentlich wieder freigegeben.

ich glaube bei einem DbDataReader kann man die ergebnisse auch als DataSet zurückgeben lassen, ich mag zwar keine DataSet aber test weise könntest du das hja mal als DataSource setzen.

Ansonsten würde ich persönlich empfehlen die ausgabe in ein ordentliches Objekt modell zu packen und das als datasource anzugeben.

Und AutoGeneratorColumns ist auf true oder?
 
Hallo Spyke,

Vielen Dank für deine Antwort. AutoGeneratorColumns ist auf True gesetzt.

Die listbox beschreibe ich mit folgendem Code
Code:
                    using (OleDbDataReader WDSResults = command.ExecuteReader())
                    {
                        while (WDSResults.Read())
                        {
                            ListBox1.Items.Add(WDSResults.GetString(0));
                        }
                    }

Vielleicht gibt es ja eine sinnvoller möglichkeit das DataGridView zu beschreiben, tue mich da sehr schwer :-(
 
Du könntest das ganze über den OleDbDataAdapter laufen lassen, da gebts ne Fill Methode dem du ein DataSet angibst.
Dieses DataSet könntest dann als DataSource angeben.
Dann sollte er eigentlich im DataGridView was anzeigen.
 
Probier mal nach DataSource Zuweisung die DataBind Methode aufzurufen.
Code:
dataGridView1.DataSource = WDSResults;
dataGridView1.DataBind()

Lg
ksk
 
Zurück