本文给出一个用 C# 编程实现读写 Binary 的实例代码,对于初学者来说是个不可多得的参考性文章……
//返回blob数据
public MemoryStream getBlob(string SQL)
...{
try
...{
Db_Conn();
cmd = new OleDbCommand(SQL, Conn);
cmd.CommandType = CommandType.Text;//是sql
OleDbDataReader Rs = cmd.ExecuteReader();
if (Rs.Read()) //循环到下一条记录
...{
if (!(Rs.GetValue(0) is System.DBNull))
...{
byte[] image_bytes = (byte[])Rs.GetValue(0);
MemoryStream ms = new MemoryStream(image_bytes);
return ms;
}
else
return null;
}
else
return null;
}
finally
...{
this.close();
}
}
//设置blob
public bool SetBlob(string SQL, MemoryStream Ms)
...{
try
...{
Db_Conn();
cmd = new OleDbCommand(SQL, Conn);
cmd.CommandType = CommandType.Text;//是sql
int n=Convert.ToInt32(Ms.Length.ToString());
Ms.Position = 0;
byte[] pReadByte = new Byte[n];
Ms.Read(pReadByte, 0, n);
cmd.Parameters.Add("BLOB", OleDbType.Binary).Value = pReadByte;
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
...{
MessageBox.Show("错误:因" + ex.Message + ",无法执行:" + SQL);
return false;
}
finally
...{
this.close();
}
}
调用 getBlob
String sqlStr = "select content from dp whereupdate dp set content=:BLOB where保存失败");
}