Daten aus einer Datenbank auslesen und in String speichern

mserowiak

Grünschnabel
Hallo zusammen, ich drehe hier bald durch.

Also ich habe das Problem das ich eine Grafische Darstellung eines Selects aus ner Oracle Datenbank erstellen muß.
Die Datenbank anbiendung wurde mir wie folgt gegeben:
'---------------------------------------------------------------
.....
dim sql as string = "select ........."

dim cmd as oledbcommand = new oledbcommand(sql, my_connection)

cmd.connection = my_connection

DGAllList.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection)

DGAllList.DataBind()
......
'--------------------------------------------------------------------

Das Funktioniert auch sehr gut leider geht das halt alles in ein DataGrid. Und ich habe keine Ahnung wie ich jetzt an die Daten ran kommen soll.
Gibt es vieleicht eine möglichkeit Daten aus einem DataGrid auszulesen oder kann mir jemand sagen wie ich den Code oben ändern muß damit ich die Daten in einen String einlesen kann.

Über Codevorschläge wäre ich sehr erfreut.
(P.S. Bin neu bei Asp.net also bitte habt geduld wenn ich etwas nicht sofort verstehe)
 
Hallo!

Also, in C# übergebe ich die Daten, die ich aus der Datenbank ausgelesen habe zuerst an ein DataSet-Objekt und arbeite dann damit und nicht direkt mit der Datenbank.

z.B.

Code:
/* SQL-Verbindung öffnen */
SqlConnection connection = new SqlConnection();
connection.Open();
string sqlQuery = "SELECT dateiname FROM..."; // Befehle direkt an die Datenbank
SqlDataAdapter bannerAdapter = new SqlDataAdapter(sqlQuery, connection);

/* DataTable definieren und befüllen */
DataSet ds = new DataSet();                      //DataSet instanziieren
meinAdapter.Fill(ds,"meineTabelle");             //DataSet befüllen
DataTable meineTabelle = new DataTable();	   //DataTable instanziieren
meineTabelle = ds.Tables["meineTabelle"];	   //DataTable zuweisen zu DataSet
/* Verbindung beenden */
connection.Close();
Jetzt kannst du folgendermaßen auf deine Daten zugreifen:
(hier wird beispielsweise der Wert "dateiname" aus deiner DataTable ausgelesen und in eine string-Variable gepackt)
Code:
string dateiname = Convert.ToString(meineTabelle.Rows[0]["dateiname"]);

Ich benutze immer SQL-Datenbanken aber du musst nur das "Sql" bei den Befehlen durch "OleDb" ersetzen, und es dürfte auch mit einer anderen Datenbank funktionieren.
Auch habe ich gelesen, dass bei einer reinen Abfrage der DataAdapter besser sei als ein Command.
So ähnlich kannst du sicher auch ein DataSet in VB benutzen.
Ich hoffe, das hilft dir einigermaßen weiter.;)

Gruß, Niko
 
jo danke, werde das mal testen. Hoffe nur bekomme die übersetzung nach VB hin.
Wie gesagt totaler neuling in ASP.net (bzw VB) war bisher eigentlich immer in Java zuhause aber hier is halt VB angesagt.
 
Hallo.

Wer sagt, dass hier zwangweise VB angesagt ist?
Also, ich komme ursprünglich (unter anderem) auch von Java her und mir ist zwischen Java und C# eine ziemliche Ähnlichkeit aufgefallen, was mir das Erlernen von C# erleichtert. Außerdem habe ich auch gerade mal einen Monat mit .NET im allgemeinen und ASP.NET im besonderen zu tun, bin also auch noch "Frischling". :)

Bist du sicher, dass du VB benutzen musst? (Vom Geschäft her oder so)
Denn sonst würde ich dir raten, doch mal einen Blick auf C# zu werfen;
schließlich wurde C# eigens für .NET konzipiert, VB hingegen nur "angepasst".
Irgendwo im Netz soll es übrigens auch ein Übersetzungs-Tool für .NET geben, dass unter anderem wohl auch C# in VB übersetzen kann (leider weiss ich nicht mehr, wie's heißt :confused: , also -> :google: ).

Wenn du näheres über Datenbanken erfahren willst, solltest du im Netz mal nach ADO.NET googlen.

Gruß, Niko
 
Habe das jetzt so weit in VB umgeschrieben, (vb ist vorgegeben) aber ich bekomme die Fehler meldung "Der Name "meinAdapter" wurde nicht deklariert." und leider weiß ich nicht von welchem typ meinAdapter seien muß.
 
Uups...
hatte oben im Quellcode noch einen Fehler gemacht: Du musst "bannerAdapter" durch "meinAdapter" ersetzen... Tut mir leid, hatte ich übersehen ;)
 
Nun schaut es so aus: :confused:

Compilerfehlermeldung: BC30311: Der Wert des Typs "System.Data.DataTableCollection" kann nicht zu "System.Data.DataTable" konvertiert werden.
in:
meineTabelle = ds.Tables["meineTabelle"] 'DataTable zuweisen zu DataSet
:confused:
 
Hmmmm...
Wüsste jetzt gerade auch nicht, wo man den Fehler einordnen kann, schreib mir doch bitte mal die entsprechende Codestelle mit den dazugehörigen Definitionen, Initialisierungen und Instanziierungen.

Tip wenn du Code-Tags benutzt, ist Code besser lesbar. ;)

Gruß, Niko
 
Code:
dim connection as SqlConnection = new SqlConnection()
Code:
connection.Open()
Code:
dim sqlQuery as String = " select ...'"  'Befehle direkt an die Datenbank
Code:
dim meinAdapter as SqlDataAdapter = new SqlDataAdapter(sqlQuery, connection)
Code:
dim ds as DataSet = new DataSet()
Code:
meinAdapter.Fill(ds,"meineTabelle")
Code:
dim meineTabelle as DataTable = new DataTable()
Code:
meineTabelle = ds.Tables["meineTabelle"]
Code:
connection.Close()
Code:
dim dateiname as string = Convert.ToString(meineTabelle.Rows[0]["dateiname"]);
Code:
lbl_testausgabe.text(dateiname)

hoffe du hast ne idee
 

Neue Beiträge

Zurück