1.C#把文件当作二进制流写进数据库
SqlConnection myconnection = new SqlConnection(strsql);
myconnection.Open();
SqlCommand mycommand = new SqlCommand();
FileInfo myfile = new FileInfo("D://**.*");
FileStream mystream = myfile.OpenRead();
byte[] mybyte = new byte[myfile.Length];
mystream.Read(mybyte, 0, Convert.ToInt32(mystream.Length));
strselect = "insert into DF_XML(DT,XML) values(getdate(),@file)";
mycommand = new SqlCommand(strselect, myconnection);
SqlParameter myparam0 = new SqlParameter("@file", SqlDbType.Binary);
myparam0.Value = mybyte;
mycommand.Parameters.Add(myparam0);
mycommand.ExecuteNonQuery();
mystream.Close();
myconnection.Dispose();
myconnection.Close();
3.C#把二进制流从进数据库读出并写入文件
string strsql = "data source=127.0.0.1;Integrated Security=SSPI;Initial Catalog=MYDataBase";
byte[] mybyte = null;
FileStream myfs = new FileStream("D://data.xml", FileMode.CreateNew);
BinaryWriter writefile = new BinaryWriter(myfs);
string strselect = "select XML from DF_XML where ID=4";
SqlConnection myconnection = new SqlConnection(strsql);
myconnection.Open();
SqlCommand mycommand = new SqlCommand(strselect, myconnection);
SqlDataReader myreader = mycommand.ExecuteReader();
if (myreader.Read())
{
mybyte = (byte[])myreader[0];
}
myreader.Close();
myconnection.Close();
writefile.Write(mybyte, 0, mybyte.Length);
writefile.Close();
myfs.Close();