插入二进制数据示例
c#
string connStr = "DSN=XuguDB;USER=SYSDBA;PWD=SYSDBA;";
try
{
OdbcConnection conn = new OdbcConnection(connStr);
conn.Open();
FileStream fs = new FileStream("in.png", FileMode.Open);
byte[] data = new byte[fs.Length];
fs.Read(data, 0, (int)fs.Length);
fs.Close();
OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO MYTABLE(ID, NAME, IMG) VALUES(?,?,?)";
cmd.Parameters.Add("ID", OleDbType.Integer).Value = 100;
cmd.Parameters.Add("NAME", OleDbType.VarChar).Value = "张三";
cmd.Parameters.Add("IMG", OleDbType.Binary).Value = data;
int res = cmd.ExecuteNonQuery();
Console.WriteLine(res == 1 ? "Insert successful" : "Insert failed");
cmd.CommandText = "SELECT IMG FROM MYTABLE WHERE ID = 100";
OdbcDataReader reader = cmd.ExecuteReader();
reader.Read();
byte[] buf = new byte[reader.GetBytes(0, 0, null, 0, int.MaxValue)];
reader.GetBytes(0, 0, buf, 0, buf.Length);
reader.Close();
FileStream output = new FileStream("out.png", FileMode.Create, FileAccess.Write);
output.Write(buf, 0, buf.Length);
output.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}