C#写入和读取数据库blob字段代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#写入和读取数据库blob字段代码
====================================== ====================
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "*.*|*.*";
openFileDialog.CheckFileExists = true;
openFileDialog.Title = "选择上传的文件";
if (openFileDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK)
{
return;
}
FileStream fileStream = new FileStream(
openFileDialog.FileName, FileMode.Open, FileAccess.Read);
byte[] fileData = new byte[fileStream.length + 1];
fileStream.Read(fileData, 0, (int)fileStream.Length);
string sql = "select * from TABLE_NAME where id = '" + id + "'";
DataSet ds = OA.RsGet(sql, null);
DataRow row;
if (ds.Tables[0].Rows.Count > 0)
{
row = ds.Tables[0].Rows[0];
}
else
{
row = ds.Tables[0].NewRow();
row["ID"] = Guid.NewGuid().T oString("N");
ds.Tables[0].Rows.Add(row);
}
row["FILE"] = fileData;
row["otherField"] = roadWidth;
if (OA.RsUpdate(ds) > 0)
{
MessageBox.Show("保存成功!");
}
}
catch(Exception exc)
{
MessageBox.Show("保存出错!请检查数据。

\n" + exc.Message);
}
====================================== ======================
读取数据库blob字段,存成本地文件。

///
/// 读取ORACLEBLOB字段到文件,返回文件名Add by ZhaoYong |2012-03-21|
///
/// 索引值
/// 索引字段名称
/// 要查询的表名称
/// 存放文件的字段名称
/// 保存到本地的文件名
///
public static bool ReadBlobToFile(string idValue, string idField, string table, string blobField, string outFileFullName) {
int PictureCol = 0;
outFileFullName = outFileFullName.Trim();
try
{
OracleCommand cmd = new OracleCommand("Select " + blobField + " From " + table +
" Where " + idField + "='" + idValue + "'", OracleDb.OracleDb.Connection);
OracleDataReader myReader = cmd.ExecuteReader();
myReader.Read();
if (myReader.HasRows == false)
{
return false;
}
byte[] b = new byte[myReader.GetBytes(PictureCol, 0, null, 0, int.MaxValue) - 1];
myReader.GetBytes(PictureCol, 0, b, 0, b.Length);
myReader.Close();
System.IO.FileStream fileStream = new System.IO.FileStream( outFileFullName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
fileStream.Write(b, 0, b.Length);
fileStream.Close();
}
catch
{
return false;
}
return true;
}。

相关文档
最新文档