:-)

Beim Lesen der Email sieht man meist den Fehler. Nat�rlich muss beim UPDATE
ein WHERE ID = rein

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Andreas Rudischhauser (N)
Gesendet: Dienstag, 27. Januar 2004 08:58
An: [EMAIL PROTECTED]
Betreff: [Asp.net] DataTable Update

Guten Morgen,

ich verzweifle gerade mal wieder. Ich will einen Zeile (Row) in einer
DataTable ver�ndern und dann mit Update die Ergebnisse in der Datenbank
aktualisieren. Das Problem ist, dass nachdem ich adapter.Update() aufrufe
ALLE Zeilen in meiner DB die neuen Eintr�ge haben. Ich finde einfach den
Fehler nicht:

        DataTable table = this.dataset.Tables["tbArzneimittel"];
                                DataRow [] cur = table.Select("IDTXT = '" +
(string)this.listBox1.SelectedItem + "'");
                                

                                ((DataRow)cur[0])["Zusammensetzung"] =
this.txtZusammensetzung.Text;
                                ((DataRow)cur[0])["Anwendungsgebiete"] =
this.txtAnwendungsgebiete.Text;
                                ((DataRow)cur[0])["Dosierung"] =
this.txtDosierung.Text;
                                ((DataRow)cur[0])["Pharmakologie"] =
this.txtPharmakologie.Text;
                                ((DataRow)cur[0])["Gegenanzeigen"] =
this.txtGegenanzeigen.Text;
                                ((DataRow)cur[0])["Nebenwirkungen"] =
this.txtNebenwirkungen.Text;
                                ((DataRow)cur[0])["Wechselwirkungen"] =
this.txtWechselwirkungen.Text;
                                ((DataRow)cur[0])["Packungsgr��en"] =
this.txtPackung.Text;
                                ((DataRow)cur[0])["Hinweise"] =
this.txtHinweise.Text;
                                
                                try {
                                        myConnection.Open();
                                        adapter.Update(table);
                                        myConnection.Close();
                                } catch (Exception ex) {
                                        MessageBox.Show(ex.ToString());
                                }
                        

Und der DataAdapter wird so aufgebaut:

try {
                                myConnection = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:/hevert.mdb;Persist Security Info=False");
                                myConnection.Open();
                                
                                adapter = new OleDbDataAdapter("SELECT *
FROM tb_Arzneimittel",myConnection);
                                OleDbCommand myCommand = new
OleDbCommand("UPDATE tb_Arzneimittel SET [Zusammensetzung] = @Z,
[SonstigeBestandteile] = @S, [Anwendungsgebiete] = @A, [Dosierung] = @D,
[Pharmakologie] = @P, [Gegenanzeigen] = @G, [Nebenwirkungen] = @N,
[Wechselwirkungen] = @W, [Packungsgr��en] = @P, [Hinweise] =
@H",myConnection);
                                
                                OleDbParameter meter = new OleDbParameter();
                                meter.ParameterName = "@Z";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Zusammensetzung";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@S";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "SonstigeBestandteile";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@D";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Dosierung";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@P";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Pharmakologie";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@G";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Gegenanzeigen";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@N";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Nebenwirkungen";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@W";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Wechselwirkungen";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@Pa";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Packungsgr��en";
                                myCommand.Parameters.Add(meter);
                                
                                meter = new OleDbParameter();
                                meter.ParameterName = "@H";
                                meter.OleDbType = OleDbType.VarChar;
                                meter.SourceColumn = "Hinweise";
                                myCommand.Parameters.Add(meter);
                                
                                adapter.UpdateCommand = myCommand;

                                adapter.Fill(dataset,"tbArzneimittel");

                                foreach (DataRow row in
dataset.Tables["tbArzneimittel"].Rows) {
        
this.listBox1.Items.Add((string)row["IDTXT"]);
                                        this.listBox1.SelectedIndex = 0;
                                }
                        } catch (Exception ex)  {
                                MessageBox.Show(ex.ToString());
                        } finally {
                                if (myConnection != null)
myConnection.Close();
                        }

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an