bi0s Geschrieben 16. April 2008 Geschrieben 16. April 2008 Nabend zusammen, ich versuche seit ein paar Tagen verzweifelt ein dataGridView mit inhalt zu füllen.. Ich bekomme es aber leider überhaupt nicht hin ! Noch nichtmal ansatz weise... Googel haut mir zwar massig raus, aber meistens nur in verbindung mit SQL, PDf`s oder so.. Würde mein DataGridView einfach mit zb 3-4 Kategorien hinzufügen und die dann mit inhalt füllen.. zb: ID - Name - Preis - Bild 1 - Maus - 12 - nein 2 - Tastatur - 20 - nein so ungefähr.... Mehr hab ich erstmal nicht vor... Die Daten aus einer SQL DB lesen, wäre erstmal nebensache, ich hätte erstmal gerne das DataGribView verstanden ^^ Wäre klasse wenn mir da jemand bischen was zu erklären könnte ! Vielen dank, grüße Patrick Zitieren
bi0s Geschrieben 17. April 2008 Autor Geschrieben 17. April 2008 Habs mittlerweile geschaft, Daten in mein DataGribVier zu packen.. Ich bin aber am verzweifeln an der SQL DB auslese sache.. Ich habe einen SQL Server laufen, den findet Visual 2005 auch ohne Probleme, aber ich hab keine ahnung wie ich die Daten aus der Datenbank nun auslese und in mein DataGribView packe ! Am liebsten wäre es mir ja, wenn ich auf eine SQL Datenbank zugreifen könnte die im Internet auf einem Server liegt.. Lokal wäre das immer etwas stressig.. Jemand ne idee ? Zitieren
TDM Geschrieben 17. April 2008 Geschrieben 17. April 2008 Entweder du iterierst von einer Tabelle aus dem DataSet die Zeilen und Spalten oder du setzt einfach die Datenquelle vom DGV auf eben diese Tabelle. Vgl. DataGridView.DataSource-Eigenschaft (System.Windows.Forms) Zitieren
bi0s Geschrieben 17. April 2008 Autor Geschrieben 17. April 2008 Wenn ich zb XAMPP laufen habe, mit dem SQL Server und Apache, kann ich über PHP scripte wunderbar auf die DB zugreifen.. und dies möchte in C# genauso ^^ Bekomme es aber mit dem MSDN Beispiel auch nicht hin.. Verstehe das alles irgendwie net.. kp irgendwie Brett vorm kopf $result = mysql_query("SELECT * FROM test"); sowas bräuchte ich ja nur ^^ Aber ich frag mich die ganze zeit woher er wissen soll welche SQL DB ich meine, benutzername und pw muss ich doch sicherlich irgendwo angeben... Zitieren
TDM Geschrieben 17. April 2008 Geschrieben 17. April 2008 Na wie du auf eine DB zugreifst hab ich jetzt nicht beachtet, dachte du wolltest nur ein DGV füllen. Das geht in etwa so: public DataSet readDataSet(string connectionString, string sql) { DataSet ret = new DataSet(); try { OleDbConnection conn = new OleDbConnection(connectionString); conn.Open(); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataAdapter da = new OleDbDataAdapter(); da.SelectCommand = cmd; da.Fill(ret); } catch (Exception e) { Console.Write("readDataSet:\t{0}\n", e); } finally { conn.Close(); } return ret; } Editerle: User und pwd werden im connectionString mit untergebracht. Zitieren
bi0s Geschrieben 17. April 2008 Autor Geschrieben 17. April 2008 Was ist den OleDB ? Ich hab es so probiert: string sConnectionString; sConnectionString = "Password=;User ID=root;" + "Initial Catalog=test;" + "Data Source=(localhost)"; SqlConnection objConn = new SqlConnection(sConnectionString); objConn.Open(); Bekomme jedoch nur ein Fehler das er nicht auf die DB zugreifen kann.. Ich dachte immer OleDB wäre sowas änliches wie SQL, sprich ne Orakel DB oder so String sConn = "provider=sqloledb;server=(local)\\SQLEXPRESS;database=testTab;Integrated Security=SSPI"; String sSQL = "select * from test"; OleDbConnection oConn = new OleDbConnection(sConn); oConn.Open(); funktioniert "theoretisch"... Bei MySQL 2005 verbindet er, findet die db aber nicht.. kp wie man die da hinzufügt oO ? Bei XAMPP findet er die sql verbindung erst garnet... Irgendwie scheint der Connection String mit XAMPP nicht so wirklich zu rennen.. Mein XAMPP Daten sind: localhost root kein pw db=test mit dem SQL Manager etc klappt es alles.. Zitieren
TDM Geschrieben 17. April 2008 Geschrieben 17. April 2008 Was ist den OleDB ? MBR IT/.NET 247 : difference between OleDBConnection and SqlConnection? on microsoft.public.dotnet.general Ich hab es so probiert: [...] Bekomme jedoch nur ein Fehler das er nicht auf die DB zugreifen kann.. Welchen? Da müsste theorethisch eine Exception geworfen werden, die hat meistens eine genaue Fehlerbeschreibung. Ich dachte immer OleDB wäre sowas änliches wie SQL, sprich ne Orakel DB oder so s.o. OleDB ist für SQL, Access, Excel, etc. ODBC halt. String sConn = "provider=sqloledb;server=(local)\\SQLEXPRESS;database=testTab;Integrated Security=SSPI"; String sSQL = "select * from test"; OleDbConnection oConn = new OleDbConnection(sConn); oConn.Open(); funktioniert "theoretisch"... Ist zwar etwas länger her mit MySQL, aber probier mal statt server=(local)\\SQLEXPRESS folgendes: Data Source=\\localhost:3306 und dann musst du halt DB.Tabelle selectieren. ODER: Data Source=\\localhost:3306\Database Editerle: Vielleicht hilft das ja. Zitieren
bi0s Geschrieben 17. April 2008 Autor Geschrieben 17. April 2008 [DBNETLIB]ConnectionOpen (Connect()),SQL Server existiert nicht oder Zugriff verweigert. Das haut er mir raus... Mit den anderen beiden varianten \localhost:port gehts auch nicht... Mit System.Data.OleDb.OleDbConnection con; con = new System.Data.OleDb.OleDbConnection(""); con.ConnectionString = "Provider=ADsDSOObject;Data Source=mysql;"; con.Open(); bekomme ich zwar keine Compiler fehler, und auch beim ausführen kommt kein fehler das er nicht verbinden kann, blick aber nun nicht wie ich teste kann ob er wirklich verbunden ist ! Ich glaub ja nicht das es damit getan ist, weil in der gegoogelten variante weder pw noch username noch localhost etc angegeben wird... Zitieren
TDM Geschrieben 17. April 2008 Geschrieben 17. April 2008 [DBNETLIB]ConnectionOpen (Connect()),SQL Server existiert nicht oder Zugriff verweigert. Das haut er mir raus... Mit den anderen beiden varianten \localhost:port gehts auch nicht... Ähm, dort musst du natürlich auch den Username und das Password angeben. In dem Beispiel von oben war's jedenfalls nicht dabei. [DBNETLIB] Mit System.Data.OleDb.OleDbConnection con; con = new System.Data.OleDb.OleDbConnection(""); con.ConnectionString = "Provider=ADsDSOObject;Data Source=mysql;"; con.Open(); bekomme ich zwar keine Compiler fehler, und auch beim ausführen kommt kein fehler das er nicht verbinden kann, blick aber nun nicht wie ich teste kann ob er wirklich verbunden ist ! Ich glaub ja nicht das es damit getan ist, weil in der gegoogelten variante weder pw noch username noch localhost etc angegeben wird... Das ist ja auch eine DSN, da müssen user, pwd und Pfad zum Server schon vorher definiert worden sein. Zitieren
Amstelchen Geschrieben 17. April 2008 Geschrieben 17. April 2008 mööp. vorsicht, bitte nicht OleDB, ODBC, Oracle und diverse office-sachen durcheinanderwürfeln. OleDB ist *keine* datenbank. OleDB != ODBC. OleDB hat mit ODBC nur insofern zutun, als dass es darauf aufsetzen *kann*, aber nicht *muss*. OleDB ist eine komponentenbasierte abstraktionsebene für nicht nur datenbanken, sondern viele formen von daten. das können excelsheets, datenbankserver, mailserver, ein exchange, eine OLAP-db oder ein OLAP-cube, ein windows-indexdienst, ein IIS, oder ein AD (DNS/LDAP) sein. 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.