Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

C Sharp SQL Abfrage Problem

Mitglied: 115122

115122 (Level 1)

25.02.2016 um 10:42 Uhr, 1046 Aufrufe, 3 Kommentare

Hallo,

ich möchte in C# eine Verbindung zu einer DB/Tabelle herstellen, eine Abfrage starten und die Ergebnismenge darstellen. Das funktioniert auch soweit mit folgendem Code:

01.
SqlConnection consql = new SqlConnection("user id=XXX; password=XXX; server=XXX;" +
02.
                    "database=XXX; connection timeout=5");
03.
                try
04.
                {
05.
                    consql.Open();
06.

07.
                    SqlCommand cmd = new SqlCommand("select id from tabelle", consql);
08.
                    cmd.ExecuteNonQuery();
09.

10.
                    SqlDataReader reader = cmd.ExecuteReader();
11.
                    int zaehler = 0;
12.

13.
                    while (reader.Read())
14.
                    {
15.
                        this.lbID.Items.Add(reader["id"]);
16.
                        zaehler += 1;
17.
                    }
18.
                    MessageBox.Show("Anzahl der Datensätze: " + Convert.ToString(zaehler));
19.
                    reader.Close();
20.

21.
                    consql.Close();
22.
                }
23.
                catch (Exception)
24.
                {
25.
                    MessageBox.Show("SQL Server: Nicht erfolgreich.", "Test", MessageBoxButtons.OK);
26.
                }
Wenn ich nun auf die bestehende Ergebnismenge z.B. einen ORDER BY laufen lassen möchte, muss ich dann eine neue Select-Anweisung schreiben oder kann ich die ORDER BY-Anweisung irgendwie auf die Ergebnismenge anwenden ?

Und falls ich für jede solcher Anweisungen (sei es insert, update, delete, order by etc..) eine neue Select-Anweisung erstellen muss, wirkt sich das merklich auf die Performance aus ?

Grüße,
lordzwieback
Mitglied: 114757
25.02.2016, aktualisiert um 11:12 Uhr
Moin,
lade deine Daten in ein Datatable Object dann kannst du es nach belieben sortieren/umsortieren ...
http://stackoverflow.com/questions/6073382/read-sql-table-into-c-sharp- ...
https://msdn.microsoft.com/de-de/library/zk13kdh0%28v=vs.71%29.aspx

Gruß jodel32
Bitte warten ..
Mitglied: 115122
25.02.2016 um 11:24 Uhr
Vielen Dank, ich werde mir das mal anschauen und ggf Rückmeldung geben.
Bitte warten ..
Mitglied: 115122
25.02.2016 um 12:34 Uhr
Ich verstehe so manches nicht. Code sieht momentan so aus:

01.
DataTable dataTable = new DataTable();
02.

03.
                    SqlConnection consql = new SqlConnection("user id=XXX; password=XXX; server=XXX;" +
04.
                        "database=XXX; connection timeout=5");
05.
                    string query = "select id from tabelle";
06.

07.
                    SqlCommand cmd = new SqlCommand(query, consql);
08.
                    consql.Open();
09.

10.
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
11.
                    da.Fill(dataTable);
12.

13.
                    //HIER FEHLT DAS VERSTÄNDNIS
14.

15.
                    foreach (DataRow dRow in dataTable.Rows)
16.
                    {
17.
                        this.lbID.Items.Add(dRow["Rec_id"]);
18.
                    }
19.

20.
                    //Befehl ausführen
21.
                    //SqlDataReader reader = cmd.ExecuteReader();
22.
                    //int zaehler = 0;
23.
                    ////Daten einlesen
24.
                    //while (reader.Read())
25.
                    //{
26.
                    //    this.lbID.Items.Add(reader["id"]);
27.
                    //    zaehler += 1;
28.
                    //}
29.
                    //MessageBox.Show("Anzahl der Datensätze: " + Convert.ToString(zaehler));
30.
                    //reader.Close();
31.
                    // close database connection
32.
                    consql.Close();
33.
                    da.Dispose();
34.
                }
35.
                catch (Exception)
36.
                {
37.
                    MessageBox.Show("SQL Server: Nicht erfolgreich.", "Test", MessageBoxButtons.OK);
38.
                }


Ich verstehe nicht, wie ich auf den dataTable Inhalt zugreife bzw. wie ich z.B. eine "ORDER BY id desc" auf den dataTable anwende. Das Ausgeben in der foreach scheint mir richtig zu sein.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
C Sharp - Runden
gelöst Frage von Cubic83Visual Studio5 Kommentare

Guten Morgen, ich habe ein Problem unter C# bei dem ich den Preis eines Artikels ohne Mehrwertsteuer berechnen muss. ...

Datenbanken

SQL Befehle dynamisch ändern C Sharp und Access

Frage von Judo99Datenbanken5 Kommentare

Liebe Community ich habe derzeit ein kleines Problem. Ich arbeite mit Visual Studio 2015 Community und einer .mdb Database. ...

Datenbanken

SQL und C-Sharp - Grid und einfache Bearbeitungsmaske

Frage von ArchimedesDatenbanken3 Kommentare

Hi ihr Entwickler, vor lauter möglichen Lösungen bin ich aktuell wie gelähmt ^^ Ich bin recht fit in T-SQL, ...

C und C++

C-sharp Form buggt

gelöst Frage von YanmaiC und C++2 Kommentare

Hallo ihr Administratoren. Ich habe ein kleines Problem. Unszwar möchte ich eine Ordner von C# zu einem PHP Script ...

Neue Wissensbeiträge
Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 TagSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 2 TagenHyper-V4 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 2 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Information von Snowbird vor 4 TagenHumor (lol)9 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Heiß diskutierte Inhalte
Backup
Veeam Backup Endpoint Free sichert nicht alle Dateien in AppData
gelöst Frage von speedy26gonzalesBackup12 Kommentare

Hallo, ich sollte ein paar Dateien in C:\Users\xyc\AppData\Local\Microsoft\Outlook wieder herstellen. Auf dem Benutzerkonto ist in Outlook ein IMAP Konto ...

Audio
SIP Gegensprechstelle Funk
Frage von d4vidh4ll3rAudio11 Kommentare

Hallo! Ich benötige eine alternative zur doorLine TM4 ), sprich eine SIP Gegenstelle die ich unter eine Aluminium-Platte schrauben ...

Windows 10
Windows 10 Backup auf Netzwerk Storage
Frage von Futschel2608Windows 1010 Kommentare

Hallo geehrte Mitstreiter Innen, Wir wollen in unserer Windows 10 Domäne den Einzelnen Usern ermöglichen ihre Desktop PC's zusichern. ...

Windows Server
Ist es möglich, eine deutsche W2016 Installation mit einer UK-Lizenz zu aktivieren?
gelöst Frage von keine-ahnungWindows Server9 Kommentare

Moin at all, ist ja noch Freitag. Ich habe hier noch zwei UK OEM W2016 Standard Pakete rumfliegen Muss ...