
下面作为普通文件输出
FILE *fin,*fout
void main()
{
int c
fin=fopen( "duck.jpg","rb")// 作为2二进制文件打开
fout=fopen("tmp.jpg","wb")
while(1){
c=fgetc(fin) // 一个字节一个字节地读入
if (feof(fin)) break// 直到EOF
fputc ( c , fout )// 改此句,让它符合数据库约定。
}
}
//把文件转成二进制流出入数据库private void button2_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream(textBox1.Text, FileMode.Open)
BinaryReader br = new BinaryReader(fs)
Byte[] byData = br.ReadBytes((int)fs.Length)
fs.Close()
string conn = "server=.database=testDBUid=saPwd=sa "
SqlConnection myconn = new SqlConnection(conn)
myconn.Open()
string str = "insert into pro_table (pro_name,pro_file) values('测试文件',@file)"
SqlCommand mycomm = new SqlCommand(str, myconn)
mycomm.Parameters.Add("@file", SqlDbType.Binary, byData.Length)
mycomm.Parameters["@file"].Value = byData
mycomm.ExecuteNonQuery()
myconn.Close()
}
//从数据库中把二进制流读出写入还原成文件
private void button4_Click(object sender, EventArgs e)
{
string conn = "server=.database=testDBUid=saPwd=sa "
string str = "select pro_file from pro_table where pro_name='测试文件' "
SqlConnection myconn = new SqlConnection(conn)
SqlDataAdapter sda = new SqlDataAdapter(str, conn)
DataSet myds = new DataSet()
myconn.Open()
sda.Fill(myds)
myconn.Close()
Byte[] Files = (Byte[])myds.Tables[0].Rows[0]["pro_file"]
BinaryWriter bw = new BinaryWriter(File.Open("D:\\2.rdlc",FileMode.OpenOrCreate))
bw.Write(Files)
bw.Close()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)