C# 文件在数据库 的 存取
发布时间:2020-12-15 22:40:38 所属栏目:百科 来源:网络整理
导读:、、、 ? /// summary /// 获取数据库Image字段数据,保存到本地 /// /summary /// param name="sender"/param /// param name="e"/param private void button2_Click( object sender,EventArgs e) { string constr = " Data Source=IP地址服务器地址;Initia
、、、 ? /// <summary> /// 获取数据库Image字段数据,保存到本地 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender,EventArgs e) { string constr = "Data Source=IP地址服务器地址;Initial Catalog=SunS;User ID=sa;Password=1321654"; SqlConnection con = new SqlConnection(constr); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Select * from FileServer With (NoLock) Where FileName = ‘" + textBox1.Text + "‘"; cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); DataTable dt = new DataTable(); SqlDataAdapter ad = new SqlDataAdapter(cmd);// cmd.EndExecuteReader(); ad.Fill(dt); con.Close(); cmd.Dispose(); byte[] pics1 = (byte[])dt.Rows[0]["CONTENT"];// 的值强制转换; writefile(pics1,"D://" + textBox1.Text + ""); } public void writefile(byte[] pics,string filename) { FileStream fs = new FileStream(filename,FileMode.Append,FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.Write(pics,0,pics.Length); bw.Close(); fs.Close(); } /// <summary> /// 将文件转换成byte数组,写入数据库 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender,EventArgs e) { FileInfo finfo = new FileInfo("D://" + textBox1.Text); //绝对路径 if (finfo.Exists) { SqlConnection conn = new SqlConnection( "Data Source=IP地址服务器地址;Initial Catalog=Sun;User ID=sa;Password=1312313"); SqlCommand InsertCommand = new SqlCommand(); InsertCommand.Connection = conn; InsertCommand.CommandText = " UPDATE FileServer SET CONTENT [email?protected] WHERE [FILENAME] = ‘" + textBox1.Text + "‘"; InsertCommand.Parameters.Add("@Content",SqlDbType.Image,(int)finfo.Length,"CONTENT"); //注意,此处参数Size为写入的字节数 //读取文件内容,写入byte数组 byte[] content = new byte[finfo.Length]; FileStream stream = finfo.OpenRead(); stream.Read(content,content.Length); stream.Close(); InsertCommand.Parameters["@Content"].Value = content; //为参数赋值 try { conn.Open(); InsertCommand.ExecuteNonQuery(); } finally { conn.Close(); } } } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |