Recors &! ADO.net



  • Hi!
    Und mal wieder geht es um ADO.net >>

    Folgendes:
    ----------
    Ich würde gerne in einer Tabelle dynamische Daten zu Personen speicher - ähnlich wie in einem Adressbuch.

    Fragen:
    -------
    1.) Wie mache ich das am sinnvollsten und am einfachsten in VS.net? Hab erst mal eine Verbindung via oleDbDataAdapter, oleDbConnection, DataSet und DataView erzeugt. Wie kann ich nun einzellne Zellen effiktiv ansteuern?

    2.)
    Ist es besser oder überhaupt möglich das über eine Art Record zu machen (ich komme von Delphi)? So, dass ich immer den kompletten Record in eine Row schreiben lasse, satt auf die einzellnen Zellen zuzugreifen.

    Für die, die nicht wissen, was ich mit Record von Delphi meine:

    Beispiel: Ich lege einen Record mit dem Namen "Personen[]" an, darin enthalten sind alle Daten zu den jeweiligen Personen, welche ich im Programm einfach durch "Personen[12].Vorname:=('Hans');" ändern kann. Hierbei würde jetzt der Vorname in Record 12 geändert werden.

    Bei dieser Lösung müsste meine Datenverwaltung regelmäßig die Records in das DataSet schreiben und die Datenbank updatenlassen.

    Hat jemand eine Idee, wie man das in C# realisieren kann mit den Records?

    3.) Oder gibt es eine modernere Lösung für das Problem effektiv einzellne Daten in einer Tabelle zu ändern OHNE aufwenig SQL-Commands zu nutzen? MS muss sich doch was dabei gedacht haben DataSets einzubauen, die sind doch wohl nicht nur da, um die Daten per DataView in einem Grid zu visuallisieren, oder etwa doch??

    Vielen Dank schon mal!!!
    -bb



  • Wenn Du nur die eine Tabelle hast, ist es am einfachsten wenn Du dem Projekt einen DataForm Assistenten hinzufügst. Der Rest ist dann selbsterklärend. Er generiert Dir ein komplettes Formular was mit einer Datenbank in Verbindung steht.

    Auf einzelne Einträge im DataSet kannst Du folgendermaßen zugreifen.

    dataset.Tables["Tabellenname"].Rows[Zeilenindex]["Spaltenname"] = "DeinWert";
    


  • Vielen Dank, dass hat mir ziemlich geholfen! Macht es eigentlich einen Unterschied, ob ich über ein dataSet gehe oder über ein DataView, um eine Zelle zu ändern? Oder ist ein DataView nur da, um die Daten in einem Grid zu visuallisieren? Selbst da, kann ich doch direkt eine dataSet angeben, welchen Sinn macht dann das dataView? Danke!
    - bb



  • DataView ist nur eine andere sicht auf die Daten die in einem DataSet abgelegt sind. DataView bittet im Vergleich zu einfachem Table Object einbisschen mehr Möglichkeiten bei Datenpresentation: Sortierung, Filter, etc.



  • Also macht es keinen Unterschied, ob ich die Daten über dataSet oder dataView ändere?



  • Daten werden mit Hilfe eines DataAdpaters vom Server geholt und in ein DataSet gespeichert, und dann kann man Daten aus den DataTables auslesen. Und braucht man eine andere Sortierung oder Filterung, wozu zum Server gehen, mit Hilfe der DataView Klasse kann man das Client-seitig erledigen

    AFAIK zum Transport der Daten bzw. zur Interaktion mit einer Datenbank DataSet benutzen. Es gibt aber auch noch einen DataReader, diesen kann man benutzen, wenn ein nur Lesezugriff auf die Daten genügt. Also es muß nicht immer ein DataSet sein.


Anmelden zum Antworten