用VC6.0 怎么样把bmp,jpg格式图片转化成二进制数据流写入SQL数据库

用VC6.0 怎么样把bmp,jpg格式图片转化成二进制数据流写入SQL数据库,第1张

作为2二进制文件打开,一个字节一个字节地读入,写出,直到EOF(文件结束符)。当然写出时要按数据库约定的方式。

下面作为普通文件输出

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()

              

        }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6674572.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存