Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Datareader in Datagrid schreiben
Bender1988
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

Datareader in Datagrid schreiben

beantworten | zitieren | melden

Hallo Zusammen ich bräuchte eure Hilfe und zwar möchte ich ein datagridview mit Daten befüllen aus 2 SQL Datenbanken

Das Datagrid sieht so aus

Column1=Ø, Column2=teilenummer, Column3= Bezeichnung

nun sollen die daten aus dem ersten reader in Column2 geschrieben werden also er soll auch pro gefundenem teil eine neue Zeile erstellen.

anschließen soll mit der 2. Verbindung der Ø und die Bezeichnung zzu der passenden teilenummer geschrieben werden.

Kann mir da jemand vielleicht einen Code basteln ?

Die 2 tabellen liegen in der gleichen Datenbank.

Vielen Dank im Vorraus ich hoffe ihr könnt mir weiter helfen.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.929

beantworten | zitieren | melden

Zitat
Kann mir da jemand vielleicht einen Code basteln ?
Das Forum ist kein kostenloser Quellcode Generator.
[Hinweis] Wie poste ich richtig?
private Nachricht | Beiträge des Benutzers
Bender1988
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

beantworten | zitieren | melden

Oki das war falsch ausgedrückt.

Sorry. Ich bin neu was Programmieren angeht und komme nicht weiter der erste Schritt scheitert schon
ich bekomme die wertw nur in den ersten column möchte aber das die Werte in den 2. geschrieben werden

dafür sieht der Code so aus


databaseConnection.Open();
            SqlCommand command;
            SqlDataReader dataReader;
            String query;
            query = "select Teil from LAGER where Lag = 'G';";
            command = new SqlCommand(query, databaseConnection);
            dataReader = command.ExecuteReader();

            while (dataReader.Read())
            {
                DGVPartList.Rows.Add(dataReader.GetValue(0));
            }
            command.Dispose();
            databaseConnection.Close();
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.929

beantworten | zitieren | melden

Dein Konzept würde man so eigentlich nicht machen. Was man normal machen würde:
- Alle Daten über SQL abfragen, wenn möglich mit einem einzigen Query
- Resultate in Modelle schreiben
- Modelldaten in das DataGrid schreiben

Mehrere Verbindungen und pro Item einen weiteren Query endet in einem elends langsamen System.
Würde im Endeffekt genau das passieren, was ein anderer Hilfesuchender hier als Problem hatte: Performance verbessern
private Nachricht | Beiträge des Benutzers
Bender1988
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

beantworten | zitieren | melden

ich habe jetzt dieses Ergebniss

databaseConnection.Open();
SqlCommand command;
SqlDataReader dataReader;
String query;
query = "select LAGER.Teil, TEILE.Bez From TEILE INNER JOIN LAGER ON TEILE.Teil=LAGER.Teil where LAGER.Lag = 'G' and TEILE.Gruppe = 'DR' and TEILE.Stat = '';";
command = new SqlCommand(query, databaseConnection);
dataReader = command.ExecuteReader();
if (dataReader.Read())
//while (dataReader.Read())
{
DGVPartList.Rows.Add(dataReader.GetValue(0), dataReader.GetValue(1));
}
command.Dispose();
databaseConnection.Close();
}

Jetzt fehlt mir nur noch dass der datareader die Sachen in Column2 und 3eintratgen soll kann mir da jemand behilflich sein
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.392

beantworten | zitieren | melden

Bitte formatiere deinen Code.

Mit


DGVPartList.Rows.Add(dataReader.GetValue(0), dataReader.GetValue(1));
fügst du ja die beiden Werte auch in die 1. und 2. Spalte ein. Füge noch einen Nullwert oder Leerstring als 1. Parameter hinzu.

PS: Hat dir eigentlich mein Beitrag in deinem anderen Thema bzgl. "Printer" weitergeholfen? Feedback wäre angebracht.
private Nachricht | Beiträge des Benutzers
Bender1988
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

beantworten | zitieren | melden

Dass mit dem Drucken hat funktioniert besten Dank dafür.

Das jetzige hat auch funktioniert.

allerdings muss ich noch ergänzen nun möchte ich aus dem Column 2 gewisse werte in Column 0 eintragen

zum Beispiel steht in Column2 = (RU)=2,0mm D9-1 DIN 177

ich möchte das nur 2,0 in Column 0 eingetragen wird hast du dafür auch eine Hilfe für mich
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.392

beantworten | zitieren | melden

Dafür mußt du dann den String parsen, d.h. je nach möglichen Format per String.Substring den Teilstring daraus extrahieren.
Besser wäre es aber, wenn dieser Wert schon direkt in der Datenbank steht.
private Nachricht | Beiträge des Benutzers