、、、
/// <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 =@Content 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, 0, content.Length); stream.Close(); InsertCommand.Parameters["@Content"].Value = content; //为参数赋值 try { conn.Open(); InsertCommand.ExecuteNonQuery(); } finally { conn.Close(); } } }
---