Laden...

Datatable im Datagrid updaten

Erstellt von dgroeser vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.745 Views
D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren
Datatable im Datagrid updaten

Hallo,

ich habe schon alles versucht finde aber nichts passendes, ich habe eine Textdatei die ich in eine Datatable einlese und in einen Datagrid anzeigen lasse, wie kann ich jetzt z. B. ein Update der Datatable vornehmen (eine Zeile verändern) könnt ihr mir mal ein Codebeispiel zu kommen lassen?

Beste Grüße

Dennis

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo dgroeser,

solche Codebeispiele findet du doch in der SDK-/MSDN-Doku. Im konkreten Fall in der Klassenbeschreibung der DataTable-Klasse.

In dem Zusammenhang wichtig: CurrencyManager

herbivore

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren

ich habe aber nur eine datatable kein dataset geht das dann auch das ich die datatable updaten kann

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo dgroeser,

deine Frage war

wie kann ich jetzt z. B. ein Update der Datatable vornehmen (eine Zeile verändern)?

und außerdem:

Das DataSet besteht aus einer Auflistung von DataTable-Objekten

herbivore

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren

Ich erstelle nur eine Datatable aus einen textfile und zeige sie in einen Datagrid an jetzt würde ich gerne die werter verändern und in die textdatei zurückschreiben?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo dgroeser,

ja, geht. Wie habe ich ja eigentlich auch schon beantwortet. Was ist deine Frage?

herbivore

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren

könnt ihr mir nicht mal kurz ein beispiel zu senden, das wäre echt ok, sonst sitze ich wieder das ganze Wochenende darüber, bitte bitte?

484 Beiträge seit 2006
vor 17 Jahren

herbivore hat dir den Weg doch schon genannt SDK

z.B.: C:\Programme\Microsoft Visual Studio 8\SDK\v2.0\Samples\StartSamples.htm

Jörg

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo dgroeser,

du hast doch keine konkrete Frage, sondern suchst nur ein allgemeines Codebeispiel. Diese gibt es zu Hauf in der SDK-/MSDN-Doku, hier im Forum oder im Web. Solche Beispiel selbst herauszusuchen, erwarten wir von dir. Bitte versuche nicht das, was du selber machen kannst, auf uns abzuwälzen.

herbivore

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren
  1. Wo gibt es ein Beispiel (link) suche die ganze Zeit schon für mein Problem
  2. Es muss doch jemand schonmal so etwas gemacht und nicht falsch verstehen ich bin jetzt schon längere Zeit bei Euch im Forum und bewege mich auch in anderen Foren, aber die meiste Antwort die hier gegeben wird aber nicht von allen ist, benutz die Suche, benutze MSDN, benutze immer etwas anderes als MyCharp.de
    Die Suche habe ich schon ausgiebig benutzt sonst würde ich hier auch nichts reinsetzen.

Ich programmiere sonst nur Datenbanken und bin auf diesen Gebiet neu, ich habe das galileo buch auch schon durch und habe auch ein paar Fragen.

Fragen:

  1. Dataadapter kann man doch nur verwenden für eine Datenbank oder geht es auch für eine Textfile??

  2. In einen DataAdapter wird ein Dataset geladen, das aus mehreren Datatable besteht, ist das richtig?

Beste Grüße und mein Kommentar ist nicht böse gemeint sondern nur als Anregung.

Dennis

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo dgroeser,

und nicht falsch verstehen ich bin jetzt schon längere Zeit bei Euch im Forum und bewege mich auch in anderen Foren, aber die meiste Antwort die hier gegeben wird aber nicht von allen ist, benutz die Suche, benutze MSDN, benutze immer etwas anderes als MyCharp.de

sei vorsichtig mit solchen Aussagen. Ich habe neulich mal geguckt.

Welche Antwort man bekommt, hängt von der Frage ab. Weit weniger als 10% der Fragen werden mit einem Verweis auf Doku, Suche oder Bücher beantwortet. Wenn das auf deine Frage hin passiert, ist das in der Regel die korrekte Antwort auf deine Frage, sprich es war eben keine Frage für ein Forum, sondern eine Frage für die Doku, die Suche oder ein Buch.

Außerdem wird in der Regel nicht einfach so auf die Suche oder Doku verwiesen, sondern es wird ein Stichwort gegebenen (wie ich das ja auch gemacht habe), dass einem bei der Suche hilft. Wenn nicht, dann meist, weil das Stichwort bekannt oder offensichtlich ist.

Bezogen auf 138000 Beiträge findet sich das Wort google gerade mal in 1565 Beiträgen also in knapp über einem Prozent der Beiträge. Und das Wort Forum(s)suche bzw. Forensuche in nochweniger Beiträgen, nämlich nur 567. Selbst der String 'suche' (der auch auf Suche, suchen, Forumssuche usw. passt), findet sich nur 8210 mal, das sind nur 5,9%, obwohl der string auch in vielen Fragen (Ich suche ein Control ...) oder in konkreten Antworten auftaucht (... um eine Datenbanksuche auszuführen ...).

Wenn du was anderes sagst, ist das ein Versuch, eine Antwort zu erzwingen, eine Schutzbehauptung oder eine Wahrnehmungsverzerrung.

herbivore

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren

Was ich nicht verstehe ist, wenn ich zu einen Dataset eine Tablle zufügen möchte dann kann ich das nur mit den dataadapter???

Oder wie geht das ohne adapter weil ich brauche meinen wissens keinen adapter da die Datei lokal liegt

dataadapter.Fill(dataset); // Warum, was ist wenn ich nur eine Datasetz habe wie bekomme ich dann die Table bzw. die Relationen in den Dataset??

484 Beiträge seit 2006
vor 17 Jahren

Original von dgroeser
Was ich nicht verstehe ist, wenn ich zu einen Dataset eine Tablle zufügen möchte dann kann ich das nur mit den dataadapter???

Oder wie geht das ohne adapter weil ich brauche meinen wissens keinen adapter da die Datei lokal liegt

dataadapter.Fill(dataset); // Warum, was ist wenn ich nur eine Datasetz habe wie bekomme ich dann die Table bzw. die Relationen in den Dataset??

Nur weil beides DataSet DataAdapter jeweils Data im Namen haben, sind diese
nicht direkt von einander abhängig.

DataSet, DataTable, DataRow sind Container zur Daten bzw Objektablage und verweilen ihr dasein im Arbeitsspeicher.

Der DataAdapter und seine Erben bringen die zwei Welten Arbeitsspeicher und Persistenz zusammen.

Bei DataAdapter.Fill(DataSet) z.b. liest der DA mit Hilfe von SQL die Daten aus einer Datenbank und erstellt innerhalb des DataSet, DataTable und DataRow Objekte.

Um aber einem DataSet eine Tabelle hinzuzufügen reicht schon
DataSet.Tables.Add aus.

Wenn Du nun z.B: via System.IO.FileStream Daten aus deiner Persintenz einliest
und sie dann wie auch immer in ein DataTable bringst ist nicht der DataAdapter dein "Transporteur" sondern deine Klasse mit dem System.IO

Wenn die Daten also zurück in das System.IO sollen muss deine Klasse die Arbeit übernehmen.

Die Daten innerhalb der DataTable befinden sich in DataRows lässt den Verdacht aufkommen es handelt sich um eine Collection, von daher wendet man die Iteration an um Row für Row die Daten auszulesen und um die Daten dann letztenendes zur Speicherung weiterzuverarbeiten.

StringBuilder sb = new StringBuilder();
sb.Append("<DataTable>");
foreach(System.Data.DataRow row in DataTable.Rows)
{
        sb.AppendFormat("<DataRowv id={0} wert={1} />", row[0], row[1]);
}
sb.Append("</DataTable>");

// Noch einfacher wäre es direkt xml zu verwenden mit Hilfe der 
// DataSet.ReadXml oder WriteXml Methoden.


Jetzt nur noch sb.ToString() in ein TextFile schreiben

Weiter Infos bieten Dir:

http://msdn2.microsoft.com/de-de/library/system.data.dataset.aspx
http://msdn2.microsoft.com/de-de/library/system.data.datatable.aspx
http://msdn2.microsoft.com/de-de/library/system.data.datarow.aspx

Kleiner Tipp am Rande:
msdn2.microsoft.com/de-de/library/
und dann die gewünschte Klasse
system.data.datarow.aspx

bringt Dich schnell an Ziel

Gruß Jörg

D
dgroeser Themenstarter:in
135 Beiträge seit 2006
vor 17 Jahren

Danke jetzt ist es mir klar, ich hoffe nur das ich das nicht zu kompliziert mache denn bis jetzt habe ich alles mit hastables gemacht da habe ich aber folgendes Problem zu zwar kann man die nur in eine Listbox anzeigen lassen und ich wollte eben eine Ansicht wie eine Tabelle oder gibt es da mit hashtabels auch eine Möglichkeit?

Danke im Voraus?