
/DatSet读取文件/#region /DatSet读取文件/

/**//// <summary>
/// 根据aaId,使用DataSet 读取**文件内容,还原恢复。
/// </summary>
/// <param name="ioId">**的ID号</param>
/// <param name="tableName">表名</param>
/// <param name="fieldName">存储**文件内容的字段</param>
public bool ReadFileOutFormSqlServer(int ioId,string tableName,string fieldName)

{
bool flag=false;

object tempfileName=null;

string strSql="select fullpath,"+fieldName+" from "+tableName+" where infoID="+infoId;

DataSet ds=new DataSet();
Database database=new Database(p_sqlConnString);

try

{
ds=database.DBDataSet(strSql);
byte[] tmpFile=null;
foreach(DataRow dr in ds.Tables[0].Rows)

{
if(dr[0]!=DBNull.Value)

{
tempfileName=dr[0];
tmpFile=(byte[])dr[1];
}
}
ds.Dispose();


if(tmpFile!=null)

{
string fileName=tempfileName.ToString();
FileInfo fi=new System.IO.FileInfo(fileName);
if(!fi.Exists)

{
//新建文件
using (FileStream fstream= fi.Create())

{
int length=tmpFile.Length;
fstream.Write(tmpFile,0,tmpFile.Length);
fstream.Close();
flag=true;
}

}
else

{
using(FileStream fs=fi.OpenWrite())

{
int length=tmpFile.Length;
fs.Write(tmpFile,0,tmpFile.Length);
fs.Close();
flag=true;
}
}
}
}
catch (Exception err)

{
throw err;
}
finally

{
database.Close();
}
return flag;
}

#endregion

/***保存文件***/#region /***保存文件***/

/**//// <summary>
/// 保存文件到SQL Server数据库中
/// </summary>
/// <param name="RRR">**文件类</param>
/// <param name="tableName">表名</param>
/// <param name="fieldName">存储**文件内容的字段</param>
public bool SaveIntoSqlServer(RRR accredit,string tableName,string fieldName)

{
bool flag=false;
//保存文件到SQL Server数据库中
string fileName=accredit.FullPath;

FileInfo fi=new FileInfo(fileName);
if (fi.Exists)

{
SqlConnection cn=null;
try

{
byte[] dData=null;
//读文件,放入buffer
using(FileStream fs=fi.OpenRead())

{
dData=new byte[fi.Length];
int nReadLength=fs.Read(dData,0,(int)(fi.Length));

}
string sqlStr="insert into "+tableName+"(ioID,path,cTime,"+fieldName+") values("
+accredit.IoID+",'"+accredit.Path+"','"+accredit.CTime+"',@file)";

cn=ConnectToSqlSever();
if(cn.State==0) cn.Open();
SqlCommand cm=new SqlCommand(sqlStr,cn);
cm.Parameters.Add("@file",dData);
cm.ExecuteNonQuery();
cm.Dispose();
flag=true;
}
catch (Exception err)

{
throw err;
}
finally

{
cn.Close();
}
}
return flag;
}
#endregion
数据字段为varbinary
转载于:https://www.cnblogs.com/flashicp/archive/2007/05/14/746136.html