008
27.03.2007, 07:48 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo, gegeben sei ein Blobfeld in einer Tabelle als Spalte 1 (PK Spalte 0), ein Textfeld (Multiline) auf einer Form, zwei Button, ein Datenadapter und eine Verbindung (bei mir ist das DBMS Oracle).
C++: |
private void button1_Click(object sender, System.EventArgs e) { // schreiben da.InsertCommand.Parameters[0].Value=1; da.InsertCommand.Parameters[1].Value=System.Text.Encoding.UTF8.GetBytes(txt.Text); conn.Open(); da.InsertCommand.ExecuteNonQuery(); conn.Close(); }
private void button2_Click(object sender, System.EventArgs e) { // lesen OracleDataReader dr; da.SelectCommand.Parameters[0].Value=1; conn.Open(); dr = da.SelectCommand.ExecuteReader(); dr.Read(); txt.Text = System.Text.Encoding.UTF8.GetString((byte[])dr.GetValue(1)); conn.Close(); }
// und jetzt als normales Varchar Feld
private void button3_Click(object sender, System.EventArgs e) { da.UpdateCommand = new OracleCommand(); da.UpdateCommand.CommandText = "Update dummy Set TxT = :p0 where id =1"; da.UpdateCommand.Parameters.Add(":p0", OracleType.VarChar); da.UpdateCommand.Parameters[0].Value = txt.Text; da.UpdateCommand.Connection=conn; conn.Open(); da.UpdateCommand.ExecuteNonQuery(); conn.Close(); }
private void button4_Click(object sender, System.EventArgs e) { OracleDataReader dr; da.SelectCommand.CommandText="Select TxT from dummy where ID =:p0"; da.SelectCommand.Parameters.Clear(); da.SelectCommand.Parameters.Add(":p0",OracleType.Number); da.SelectCommand.Parameters[0].Value=1; conn.Open(); dr = da.SelectCommand.ExecuteReader(); dr.Read(); txt.Text = dr.GetOracleString(0).ToString(); conn.Close(); }
|
Möglich das der Inhalt des Blobfeld im Tabellendesigner nicht angezeigt werden kann. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe Dieser Post wurde am 27.03.2007 um 08:25 Uhr von Uwe editiert. |