Hipputalamus Geschrieben 9. April 2009 Geschrieben 9. April 2009 hallo an alle user, ich arbeite gerade an ein verwaltungsprogramm. die programmieroberfläche ist visual studio 2008 und in der sprache c#. die dazugehörige datenbank "Testi" existiert bereits und ich habe auch schon den con-String fertig. //in der Klasse "Constants" : public const string dbConnection = //@"Data Source=PUMUKEL;Initial Catalog=Test-Verwaltung;Integrated Security=True"; @"Data Source=PUMUKEL;Initial Catalog=Test-Verwaltung;Integrated Security=True"; // und in der klasse datbase. (als beispiel) class dataBase { public SqlConnection con = new SqlConnection("Data Source=PUMUKEL;Initial Catalog=Test-Verwaltung;Integrated Security=True"); public SqlCommand cmdPc = null; public SqlDataAdapter daPc = null; public SqlDataReader drPc = null; //wurde mal "provisorisch schon mal erstellt public DataSet dsPc = null; public DataTable dtPc = null; jetzt weis ich leider nicht wie ich die daten aus der datenbank in den textboxen angezeigt bekomme, die in einer form existieren. bin gerade bücher am lesen, aber sämtliche beispiele dort sind nur auf eine acces-datenbank gerichtet. wäre sehr happy wenn jemand vielleicht so ein "gerüst" posten könnte. hoffe ihr könnt mir da helfen bzw.tipps geben. gruss hippu :confused: Zitieren
Amstelchen Geschrieben 14. April 2009 Geschrieben 14. April 2009 du deklarierst so ziemlich alles, was das framework anbietet (SqlCommand, SqlDataAdapter, SqlDataReader, DataSet, DataTable), obwohl du sicher nicht mal die hälfte davon brauchst. sieh dir doch einfach die beispiele in der MSDN an, wie du ergebnismengen abfrägst und in welcher hierarchie die einzelnen objekte zueinander stehen. die abgefragten ergebnisse kannst du dann einfach den gewünschten textboxen zuweisen. s'Amstel Zitieren
Hipputalamus Geschrieben 14. April 2009 Autor Geschrieben 14. April 2009 huhu zusammen, hab es geschaft. hier der vorläufige code zum einlese der daten: SqlCommand myCommand = new SqlCommand(Constants.selPc,dbDatenbank.con); SqlDataAdapter myAdapter = new SqlDataAdapter(); myAdapter.SelectCommand = myCommand; dbDatenbank.con.Open(); MessageBox.Show("Die Verbindung wurde erfolgreich hergestellt!" + ConnectionState.Connecting); SqlDataReader reader = myCommand.ExecuteReader(); try { if (reader.Read()) { tbPcMarke.Text = Convert.ToString( reader[1]); tbPcHausnr.Text = Convert.ToString(reader[2]); tbPcFestplatte.Text = Convert.ToString(reader[3]); tbPcArbeitsSpeicher.Text = Convert.ToString(reader[4]); tbPcCPU.Text = Convert.ToString(reader[5]); tbPcAnschluss.Text = Convert.ToString(reader[6]); tbPcGrafikkarte.Text = Convert.ToString(reader[7]); tbPcNetzwerkkarte.Text = Convert.ToString(reader[8]); tbPcLaufwerk.Text = Convert.ToString(reader[9]); tbPcWartung.Text = Convert.ToString(reader[10]); tbPcAnschaffung.Text = Convert.ToString(reader[11]); } } finally { reader.Close(); } dbDatenbank.con.Close(); } :upps jetzt wollt ich mal fragen wie das "blättern" funktionier!? muss man das alles extra proggen,oder kann man wann nutzen, so eine art binding source? wenn ja, wie? @ amstelchen thx für den tipp, aber ist nicht gut erklärt (meineserachtens). gruss hippu :confused: Zitieren
Hipputalamus Geschrieben 29. Mai 2009 Autor Geschrieben 29. Mai 2009 hallo zusammen, habe inzwischen eine andere lösung gefunden. sie ist nicht so aufwendig u man kann innerhalb der datenssätze blättern^^ // ------------------------------------------- // Register Raum // dbDatenbank.cmdRaum = new SqlCommand(Constants.selRaum); dbDatenbank.cmdRaum.Connection = dbDatenbank.con; dbDatenbank.daRaum = new SqlDataAdapter(dbDatenbank.cmdRaum); dbDatenbank.con.Open(); dbDatenbank.dsRaum = new _Test_VerwaltungDataSet(); dbDatenbank.daRaum.Fill(dbDatenbank.dsRaum, "tabRaum"); dbDatenbank.dtRaum = dbDatenbank.dsRaum.Tables["tabRaum"]; dbDatenbank.con.Close(); dbDatenbank.bsRaum = new BindingSource(dbDatenbank.dsRaum, "tabRaum"); dbDatenbank.bRNr = new Binding("Text", dbDatenbank.bsRaum, "Nummer"); dbDatenbank.bRGroesse = new Binding("Text", dbDatenbank.bsRaum, "Groesse"); dbDatenbank.bRMax = new Binding("Text", dbDatenbank.bsRaum, "PC_Max"); dbDatenbank.bRBelegung = new Binding("Text", dbDatenbank.bsRaum, "Belegung"); tbRaumNr.DataBindings.Add(dbDatenbank.bRNr); tbRaumGroesse.DataBindings.Add(dbDatenbank.bRGroesse); tbRaumMax.DataBindings.Add(dbDatenbank.bRMax); tbRaumBelegung.DataBindings.Add(dbDatenbank.bRBelegung); wie man sieht ist das eine ziemlich einfache sachen das. :upps nur jetzt weis ich net mehr weiter. ich möchte die datensätze updaten, neue hinzufügen und löschen. alle bücher die ich habe gehen von nur von verdammten Acces-tabellen aus. habe aus diesm grund schwierigkeiten das in sql umzuwandeln. könnt ihr mir da vielleicht helfen? wäre echt super wünsch schon mal schönes wochenende. gruss hippu :confused: Zitieren
dbwizard Geschrieben 29. Mai 2009 Geschrieben 29. Mai 2009 nur jetzt weis ich net mehr weiter. ich möchte die datensätze updaten, neue hinzufügen und löschen. alle bücher die ich habe gehen von nur von verdammten Acces-tabellen aus. habe aus diesm grund schwierigkeiten das in sql umzuwandeln. könnt ihr mir da vielleicht helfen? wäre echt super wünsch schon mal schönes wochenende. gruss hippu :confused: Hallo, ich bin zwar ein Oracle Mensch und habe keinen blassen Schimmer von C#, aber ich kann mit nicht vorstellen, dass es mittels Google nicht möglich sein soll, für MSSQL und C# zu solch grundlegenden Funktionen irgendwas zu finden...und siehe da ... How To Update a SQL Server Database by Using the SqlDataAdapter Object in Visual C# .NET da waren noch "Millionen" Links zu diesem Thema... Gruss Zitieren
Hipputalamus Geschrieben 2. Juni 2009 Autor Geschrieben 2. Juni 2009 hi, @ dbwizard, habe es ausprobiert aber es funtz net. ....da waren noch "Millionen" Links zu diesem Thema... lol. echt super. aber keine der dort mitgeteilten lösungen kan ich anwenden bzw. funktionieren. hippu :confused: Zitieren
Amstelchen Geschrieben 2. Juni 2009 Geschrieben 2. Juni 2009 du könntest z.b. ein von oben und von unten eingeschränktes ergebnisset generieren: SELECT * FROM ( -- alle records ausgeben die übrigbleiben SELECT TOP 5 -- untere 5 von den oberen 15 (macht 10 records) * FROM ( SELECT TOP 15 -- obere 15 als originäre ergebnismenge * FROM Table ORDER BY Field -- -- in die richtige reihenfolge bringen ) ORDER BY Field DESC -- absteigend sortieren ) ORDER BY Field -- in die richtige reihenfolge bringen ungetestet. s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.