//ein neues DataSet erzeugen, in das die Daten aus der DB geladen werden System.Data.DataSet ds = new System.Data.DataSet("dynamic"); //ein neues Connection Objekt erzeugen string connectionString = "User Id=user;Password=password;Data Source=tnsName"; Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(connectionString); //Connection zur Datenbank öffnen if (conn.State != System.Data.ConnectionState.Open) conn.Open(); //SQL Abfrage mit dem Connection Objekt verbinden Oracle.DataAccess.Client.OracleCommand SelectCommand = new Oracle.DataAccess.Client.OracleCommand(); SelectCommand.CommandText = "SELECT * FROM owner.Test WHERE test1 = 'xyz'"; SelectCommand.Connection = conn; //das DataAdapter Objekt erzeugen, um die Daten aus der DB zu holen Oracle.DataAccess.Client.OracleDataAdapter da = new Oracle.DataAccess.Client.OracleDataAdapter(SelectCommand); //Daten aus der DB laden und in das DataSet übertragen da.Fill(ds); //Connection zur Datenbank schliessen if (conn.State != System.Data.ConnectionState.Closed) conn.Close(); //einen Datensatz im DataTable aktualisieren ds.Tables[0].Rows[0][1] = "HuHu"; //einen Datensatz im DataTable löschen ds.Tables[0].Rows[1].Delete(); //einen Datensatz dem DataTable hinzufügen System.Data.DataRow NewDr = ds.Tables[0].NewRow(); NewDr[0] = 99; NewDr[1] = "HuHuNew"; ds.Tables[0].Rows.Add(NewDr); //Connection zur Datenbank öffnen if (conn.State != System.Data.ConnectionState.Open) conn.Open(); //Transaktion beginnen Oracle.DataAccess.Client.OracleTransaction oraTra = conn.BeginTransaction(); //CommandBuilder instanzieren Oracle.DataAccess.Client.OracleCommandBuilder ocm = new Oracle.DataAccess.Client.OracleCommandBuilder(da); //Update, Delete, Insert Command erzeugen und dem DataAdapter zuweisen da.UpdateCommand = ocm.GetUpdateCommand(); da.DeleteCommand = ocm.GetDeleteCommand(); da.InsertCommand = ocm.GetInsertCommand(); //Daten in die Datenbank schreiben da.Update(ds.Tables[0]); //Transaktion mit Commit beenden oraTra.Commit(); //Connection zur Datenbank schliessen if (conn.State != System.Data.ConnectionState.Closed) conn.Close(); //alle erzeugten Objekte schließen ds.Dispose(); conn.Dispose(); da.Dispose(); oraTra.Dispose(); ocm.Dispose(); ds = null; conn = null; da = null; NewDr = null; oraTra = null; ocm = null;