Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datensatz/Zeile im Dataset aktualisieren

Empfohlene Antworten

Veröffentlicht

Hallo

Kann mir jemand sagen was ich gerade falsch mache und warum ich diesen einen Wert nicht ändern kann? Probiere da jetzt schon knapp 30 min rum!?

//C#

 public void myds()

        {

            DataSet ds_test = new DataSet();


            string abfrage_text = "select * from tabelle1";


            string con_str = "Driver={Microsoft Access Driver (*.mdb)};"

                             + @"DBQ=" + Directory.GetCurrentDirectory() + "\\test_db.mdb";


            OdbcConnection con = new OdbcConnection(con_str);

            OdbcCommand abfrage1 = new OdbcCommand(abfrage_text, con);

            OdbcDataAdapter adap1 = new OdbcDataAdapter(abfrage1);


            con.Open();

                adap1.Fill(ds_test);

            con.Close();


            DataTableCollection dtc = ds_test.Tables;

            DataRowCollection drc = ds_test.Tables[0].Rows;

            DataColumnCollection dcc = ds_test.Tables[0].Columns;


            MessageBox.Show("Anz. Tabellen im DS: \t" + dtc.Count.ToString() + Environment.NewLine

                            + "Anz. Spalten im DS: \t" + drc.Count.ToString() + Environment.NewLine

                            + "Anz. Zeilen im DS: \t\t" + dcc.Count.ToString());


            MessageBox.Show(ds_test.Tables[0].Rows[1].RowState.ToString() + Environment.NewLine

                            + "Wert: " + ds_test.Tables[0].Rows[1].ItemArray[1].ToString());


            ds_test.Tables[0].Rows[1].ItemArray[1] = "Mopsi";


            MessageBox.Show(ds_test.Tables[0].Rows[1].RowState.ToString() + Environment.NewLine

                           + "Wert: " + ds_test.Tables[0].Rows[1].ItemArray[1].ToString());



        }

Kann mir jemand sagen was ich gerade falsch mache

ja. aber ein paar zeilen code hinzuschleudern und nicht anzugeben, *was* du eigentlich machen willst, finde ich etwas gewagt.

und warum ich diesen einen Wert nicht ändern kann?

weil du ihn nicht ändern darfst, da er falsch übergeben ist.

im übrigen würde es immens helfen, fehlermeldungen zu posten - da daraus in den meisten fällen auch die fehlerquelle - oder zumindest die zeile, in der der fehler/die exception passiert, ausgemacht werden kann.

zum ItemArray siehe:

http://msdn2.microsoft.com/en-us/library/system.data.datarow.itemarray.aspx

s'Amstel

  • Autor

Ich fülle ein Dataset mit 3 Datensätzen aus der angegebenen Tabelle, die Werte sind ID, Vorname, Nachname.

Was ich nun vorhabe, ich will den Vornamen des 2. Datensatzes ändern in "Mopsi".

Die erste MsgBox gibt mir die Eigenschaften des Datasets an, danach lasse ich mir den Status des Zeile anzeigen, die ich ändern will, bzw. in der die Zelle liegt, die ich ändern will.

Dann kommt die eigentlich Änderung, und hier hauts dann nicht hin, die Änderung wird nicht übernommen.

Danach kommt nochmal ne Statusabfrage, um zu schaun ob was geändert wurde.

Fehlermeldung sieht so aus dass ich vor der Kiste hänge und im Dreieck springe weil ich es nicht hinbekomme den Vornamen zu ändern.

@Amstelchen: Thx für den Link allerdings kann ich da gerade nicht viel mit anfangen....

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.