Hallo,
ich habe ein Problem mit ADO.NET. Ich arbeite mit der Firebird Datenbank und dem FirebirdManagedProvider für ADO.NET.
In der Datenbank habe ich eine Tabelle (BLOBTEST) angelegt.
Diese Tabelle hat zwei Spalten : BESCHREIBUNG ist vom Typ Char(30),DATA ist vom Typ Blob.
Mit folgendem Code versuche ich in die Datenbank zu schreiben:
<PRE>
uses firebirdsql.data.firebird;
database : string;
command : fbcommand;
connection : fbconnection;
buffer : array of byte;
begin
database := 'User=sysdba;' +
'Password=masterkey;' +
'Database=test;' +
'DataSource=localhost;' +
'Port=3050;';
connection := fbconnection.Create(database);
connection.Open;
command := fbcommand.Create('INSERT INTO BLOBTEST (BESCHREIBUNG,XMLDATA) VALUES (@be,@xm)',connection);
setlength(buffer,3);
buffer[0] := 65;
buffer[1] := 66; // irgendwelche Daten
buffer[2] := 67; // für BLOB Column
command.Parameters.Add('@xm',fbdbtype.Binary).Valu e := buffer;
command.Parameters.add('@be',fbdbtype.Char).Value := 'Hallo Welt';
command.ExecuteNonQuery;
connection.Close;
</PRE>
Bei diesem Code wird immer eine InvalidCastException ausgelöst. Ich habe alles überprüft, kann aber keinen Fehler finden.
Weiss vielleicht jemand, was da los sein könnte ?
ich habe ein Problem mit ADO.NET. Ich arbeite mit der Firebird Datenbank und dem FirebirdManagedProvider für ADO.NET.
In der Datenbank habe ich eine Tabelle (BLOBTEST) angelegt.
Diese Tabelle hat zwei Spalten : BESCHREIBUNG ist vom Typ Char(30),DATA ist vom Typ Blob.
Mit folgendem Code versuche ich in die Datenbank zu schreiben:
<PRE>
uses firebirdsql.data.firebird;
database : string;
command : fbcommand;
connection : fbconnection;
buffer : array of byte;
begin
database := 'User=sysdba;' +
'Password=masterkey;' +
'Database=test;' +
'DataSource=localhost;' +
'Port=3050;';
connection := fbconnection.Create(database);
connection.Open;
command := fbcommand.Create('INSERT INTO BLOBTEST (BESCHREIBUNG,XMLDATA) VALUES (@be,@xm)',connection);
setlength(buffer,3);
buffer[0] := 65;
buffer[1] := 66; // irgendwelche Daten
buffer[2] := 67; // für BLOB Column
command.Parameters.Add('@xm',fbdbtype.Binary).Valu e := buffer;
command.Parameters.add('@be',fbdbtype.Char).Value := 'Hallo Welt';
command.ExecuteNonQuery;
connection.Close;
</PRE>
Bei diesem Code wird immer eine InvalidCastException ausgelöst. Ich habe alles überprüft, kann aber keinen Fehler finden.
Weiss vielleicht jemand, was da los sein könnte ?
Comment