Laden...

DataSource = DataSet? Hilfe

Erstellt von C#-Starter vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.248 Views
C
C#-Starter Themenstarter:in
12 Beiträge seit 2008
vor 13 Jahren
DataSource = DataSet? Hilfe

Hallo,

ich hoffe ich bin im richtigen Sub gelandet und ihr könnt mir helfen.

Ich programmiere Momentan eine Anwendung um eine SQL-Tabelle mit über 65.000 Datensätzen besser zu verwalten.

Unter anderem soll mein Programm eine Suchfunktion mit verschiedenen Kritereien enthalten.

Ich habe meinen Connectionstring, ein Datagridview, ein Dataset, einen SQLstring, welöcher dynamisch erstellt wird, in dem man in Textoxen die Kriterien eingibt etc.

Nun zu meiner Frage.

Mein Datagridview bleibt leider beim Klick auf den Button für die Suche einfach grau. Keine leeren Zeilen und schon gar keine Suchergebnisse.

Ich habe schon viel rumprobiert. die Connection funktioniert auf jedenfall richtig.

Hier mal der relevante Codeausschnitt bei dem ich den Fehler vermute.


SqlConnection conn = new SqlConnection("Data Source=ibmb12\\misc;Initial Catalog=Archiv;Integrated Security=SSPI");                       
            SqlDataAdapter Adapter = new SqlDataAdapter(strSQL, conn);
            DataSet bind = new DataSet();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandText = strSQL;
            BindingSource bs = new BindingSource(bind,null);
            try
            {
                conn.Open();               
                cmd.ExecuteNonQuery();           
            }            
            catch(Exception ex)
            {
                MessageBox.Show(Convert.ToString(ex));
            }
            bind.Clear();
            Adapter.Fill(bind, "Archiv"); 
            dataGridView1.DataSource = bs;
            dataGridView1.ReadOnly = true;
            conn.Close();

Vielen Dank im Vorraus.

Pat

Console.WriteLine("Einen schönen Tag wünscht euch Paddy");

458 Beiträge seit 2007
vor 13 Jahren
  1. Hast du keine Trennung von GUI und DB Layer.
  2. Fehlt da ein DataBind.

be the hammer, not the nail!

C
C#-Starter Themenstarter:in
12 Beiträge seit 2008
vor 13 Jahren

könntest du deine antwort etwas verständlicher erklären?
bin leider nicht so der Pro was csharp angeht.

was genau meinst d u mit der trennung von GUI und DB layer?

meinst du "DataBind();" ?

diese option gibt es leider nicht. btw ich arbeite mit Visual Studio 2010.

Die Form die ich benutze, habe ich bei meinen recherchen immer wieder so gefunden und das soll angeblich auch funktionieren.

danke schonmmal für die schnelle antwort

Console.WriteLine("Einen schönen Tag wünscht euch Paddy");

458 Beiträge seit 2007
vor 13 Jahren

Schau einfach mal in die :rtfm:, 🛈 und 📗.

be the hammer, not the nail!

C
C#-Starter Themenstarter:in
12 Beiträge seit 2008
vor 13 Jahren

genau das ist das problem. ich habe schon seit einiger zeit alles durchsucht was ich gefunden habe.

uch stoße imemr wieder auf die Form

da.fill(dataset_name,connectionstring);
datagridview1.DataSource = dataset_name;

aber das funktioniert ja nicht.

ich weiß nicht was ich da jetzt anders machen muss, damit die Suchergebnisse auch korrekt angezeigt werden.

Gruß

Console.WriteLine("Einen schönen Tag wünscht euch Paddy");

458 Beiträge seit 2007
vor 13 Jahren

Wenn du die Dokus alle gesehen hast, bist du ja sicherlich auf GridView.DataBind gestoßen.

Hinweis von MarsStein vor 13 Jahren

Bitte bei Verweisen sprechende Namen verwenden.
Siehe [Hinweis] Wie poste ich richtig? 3.1

be the hammer, not the nail!

3.825 Beiträge seit 2006
vor 13 Jahren

Hallo,

noch ein paar Hinweise zu Deinem Sourcecode :

"cmd.ExecuteNonQuery()" brauchst Du nicht, das macht das Fill für Dich.

Statt "Convert.ToString(ex)" schreib lieber "ex.Message".

Nimm den Befehl "Adapter.Fill(bind, "Archiv")" in den try-Block mit auf, denn da kann auch ein Fehler passieren.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3