Autor Beitrag
highlander78
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: Do 01.04.10 17:17 
Danke Leute so funktionier es auf jeden Fall.

Stehe hier noch von einem Problem.

Durch die SQL Abfrage bekomme ich jetzt in einem DataGridView die Daten die ich benötige.

Die Ausgegeben Spalte sieht ungefäht so aus: (nur Beispiel)

Zitat:
------------
Spaltenname|
------------
Auto
Fahrrad
Ball
Ball
Auto
Auto
Auto



Manche Einträge sind öfters vorhanden und genau da ist mein Problem.Diese Beispieltabelle hätte ich aber gerne so:

----------------------
Spaltenname| ANZAHL |
----------------------
Auto | 4 |
----------------------
Fahrrad | 1 |
----------------------
Ball | 2 |
----------------------




Wie kann ich das am Besten lösen , geht das mit der SQL Abfrage ?
Oder evtl, über den DataGridView ?

Gruss

highlander78
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 01.04.10 17:52 
Es geht mit SQL:
ausblenden SQL-Anweisung
1:
2:
3:
Select Fahrzeug, Count(Fahrzeug)
 from Tabelle
 group by Fahrzeug;

Das DataGridView kann so etwas nicht; es ist - wie der Name schon sagt - dazu da, Daten in einem Grid zur Anzeige zu bringen.

Aber z.B. eine DataTable, die an das DGV gehängt wird, kann es auch über die Select-Methode oder über eine DataView. Einzelheiten zur Syntax stehen unter DataColumn.Expression.

Gruß Jürgen
highlander78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: Do 01.04.10 18:48 
Hallo Jürgen,

Ich glaube das war kein gutes Beispiel von mir...(Autos...) habe das einfach nur so genommen.

Ich frage die Datenbank über SQL ab nach Einträgen in einem bestimmten Zeitraum.
Danach bekomme ich 2 Spalten , eine mit Datum, Uhrzeit und die andere mit den Daten die ich brauche.
Die Daten in der Spalte die ich brauche sind "Nummern" . Es kommt eigentlich immer vor dass eine Nummer öfters
eingetragen wird.Ich lass mir halt nur die eine Spalte mit den Nummer in der DataGridView anzeigen (alles andere benötige ich nicht).
Habe einfach DataGrid View genommen ,vielleicht gibt es eine andere Lösung.
Als Ausgabe brauche ich dann nur "Nummer" und die Anzahl wie oft diese eingetragen wurden.

Ich glaube nicht dass es mit SQL Abfrage geht da ich ja diese Nummern nicht kenne....

Ich hoffe du weisst jetzt genau was ich meine.

Gruss
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 01.04.10 19:14 
user profile iconhighlander78 hat folgendes geschrieben Zum zitierten Posting springen:
Ich glaube nicht dass es mit SQL Abfrage geht da ich ja diese Nummern nicht kenne....
Doch, das geht, nämlich eben mit der von Jürgen...
Wenn es trotzdem auf dem Client stattfinden soll, kommst du mit Enumerable.GroupBy/Count auf ganz ähnliche Weise zum Ziel. Solltest du dich mit LINQ aber noch nicht befasst haben, würde ich für den Anfang eher auf eine Schleife + Dictionary setzen ;) .

_________________
>λ=
highlander78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: Do 01.04.10 22:10 
Nein auf dem Client muss es nicht stattfinden , wenn es einfacher geht :-)
So wie Jürgen geschrieben hat funktioniert es wirklich super.

Danke für den Tip.

Gruss

highlander78