Odbc Datenausgeben nur wie?

CrazyNevs

Mitglied
Hi,
ich habe folgenes Problem und zwar habe ich einen connecotin zur Datenbank aufgebaut, nur ich weiß nicht wie ich nun Selets ausführe bzw. diese aus ausgeben kann. Hoffe mir kann wer helfen :)

P.S. Unten ist mein bisheriger Code

Code:
            try
            {
                OdbcConnection cn;
                OdbcCommand cmd;
                string MyString;

                MyString = "Select name from buch;";

                cn = new OdbcConnection("Driver={Microsoft ODBC for Oracle};Server=" + txb_server.Text + ";UID=" + txb_uname.Text + ";PWD=" + txb_pwd.Text + ";");

                cmd = new OdbcCommand(MyString, cn);
                cn.Open();

                txb_sqlausgabe.Text = Convert.ToString(cmd);
                MessageBox.Show("Sie sind erfolgreich mit der Datenbank verbunden!", "Erfolgreiche Verbindung", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cn.Close();
            }
            catch
            {
                MessageBox.Show("Es ist ein Verbinduns Fehler aufgetreten. Prüfen Sie bitte die Datenbank Einstellungen", "Fehler beim Verbinden", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

MfG CrazyNevs
 
Hi

Hast du dir die Klasse mal angeschaut?
Es gibt 2 Methoden, die das Wort Execute enthalten.
Eine davon ist für Abfragen weniger geeignet (sagt auch schon der Name NonQuery).
Die anderen beiden sind abhängig von der erwarteten Datenmenge geeignet.
 
Hmm jein,
hab da aber mal was ausprobiert, nur leider scheint das imemr noch nciht so zu gehn :p

Code:
cn.Open();
                    OdbcDataReader dr = cmd.ExecuteReader();
                    // Datensätze anzeigen  
                    while (dr.Read())
                    {
                        txb_sqlausgabe.Text += dr["name"].ToString() + " \r\n";
                    }
cn.Close();

Zumindest weiß ich, das das Programm immer an dieser stelle abstürzt bzw. einen Exception auslöst ;-)

Code:
OdbcDataReader dr = cmd.ExecuteReader();

MfG Sven
 
Zuletzt bearbeitet:
War das jetzt eine Bitte nach weiterer Hilfe?
Dann sag uns doch noch, was für eine Exception kommt und wie die Fehlermeldung lautet!
 
Hmm klar sonst würd ich ja nicht hier schreiben^^ Find das nur immer was dreist direkt danach zu fragen^^ außerdem will man das ja lernen oder nicht :p

Naja trotzdem würd ich mich um eine Hilfe freuen.

Hier die Exception:
ERROR [42000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-00911: Ungültiges Zeichen
 
Hmm entwieder hab ich an der falschen Stelle weggenommen oder es geht immer noch nciht^^

Hab mal den relevanten Programmauschnitt gepostet :)

Code:
OdbcConnection cn;
                OdbcCommand cmd;
                string MyString;

                MyString = "select name from buch"; // Semikolon im Commando entfernt

                cn = new OdbcConnection("Driver={Microsoft ODBC for Oracle};Server=" + txb_server.Text + ";UID=" + txb_uname.Text + ";PWD=" + txb_pwd.Text + ";");

                cmd = new OdbcCommand(MyString, cn);
                cn.Open();
                try
                {
                    OdbcDataReader dr = cmd.ExecuteReader(); // absturzstelle
                    // Datensätze anzeigen  
                    while (dr.Read())
                    {
                        txb_sqlausgabe.Text += dr["name"].ToString() + " \r\n";
                    }

                    //cmd.ExecuteNonQuery();
                    //txb_sqlausgabe.Text = Convert.ToString(cmd);
                    MessageBox.Show("Sie sind erfolgreich mit der Datenbank verbunden!", "Erfolgreiche Verbindung", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Ein Ausgabefehler ist aufgetreten! ", "Fehler beim der Ausgabe", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

P.s. kannst du mir nicht eben das richtig umschreiben? Wenns keine umstände macht^^
 
P.s. kannst du mir nicht eben das richtig umschreiben? Wenns keine umstände macht^^
Ähm...
...nein :)
Aus folgendem Grund:
Der Fehler kommt von Oracle. Um das Lauffähig anzupassen bräuchte ich die DB. Die anzulegen bzw. von dir zu kopieren macht aber Umstände.

Sorry, nicht böse sein.

Außerdem löst Oracle bei mir in letzte Zeit einen kleine Brechreitz aus. Aber das ist ein anderes Thema :)

Aber musst du denn über Odbc gehen?
Kannst du auch umstellen auf OleDb oder DataAdapter? In dem Fall die entsprechenden Klassen von Oracle!
 
Aber musst du denn über Odbc gehen?
Kannst du auch umstellen auf OleDb oder DataAdapter? In dem Fall die entsprechenden Klassen von Oracle!

Ja ist mir egal nur ich habe von diesem bereich der Programmierung recht wenig Ahnung und möchte mich da halt reinfinden, und alles was ich möchte, ist Befehle in die Datenbank einzugeben (z.B. inserts) oder evtl. Daten per Programm ausgeben zu lassen (z.B. selects). Wie ich das letztendlich erreiche ist mir ja egal Hauptsache es funktioniert, nur ich ecke ja bei allen schnittstellen an, da ich nicht weiß wie ich kein comando rein bzw. raus bekomme ;-) Leider gibt es da ja auch nicht viel imI-Net zwar wie ich connecte aber wie ich die daten ausgebe bzw. in oracle rein bringe da gibt es nicht grade viel.

Wie würdest du das denn Lösen?

MfG Sven
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück