SQL Server 2008中的FileStream支持
2009-09-19 00:00:00 来源:WEB开发网对于客户端编程来说,是没有区别的,这只是服务器的一个存储改变
保存
//保存音乐文件
try
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "音乐文件(*.mp3)|*.mp3";
if (dialog.ShowDialog() == DialogResult.OK)
{
using (SqlConnection conn = new SqlConnection(CONNECTIONSTRING)) {
conn.Open();
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = "INSERT INTO BINARYTABLE(BINARYCONTENTS) VALUES(@file)";
FileStream fs = new FileStream(dialog.FileName, FileMode.Open);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
SqlParameter param = new SqlParameter("@file", SqlDbType.VarBinary,1000000);
param.Value = bytes;
cmd.Parameters.Add(param);
MessageBox.Show(cmd.ExecuteNonQuery() == 1 ? "成功保存文件" : "保存文件失败");
fs.Close();
}
conn.Close();
}
}
else
MessageBox.Show("用户取消了操作");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
读取
//读取音乐文件
try
{
using (SqlConnection conn = new SqlConnection(CONNECTIONSTRING)) {
conn.Open();
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = "select top 1 BinaryContents from BinaryTable order by ID desc";
SqlDataReader reader = cmd.ExecuteReader();
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "音乐文件(*.mp3)|*.mp3";
if (dialog.ShowDialog() == DialogResult.OK)
{
reader.Read();
System.Data.SqlTypes.SqlBinary result = reader.GetSqlBinary(0);//值得注意的是这里并没有什么GetSqlImage的方法
FileStream fs = new FileStream(dialog.FileName, FileMode.Create);
fs.Write(result.Value, 0, result.Length);
fs.Close();
reader.Close();
}
else
MessageBox.Show("用户取消操作");
}
conn.Close();
}
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
Tags:SQL Server FileStream
编辑录入:爽爽 [复制链接] [打 印]- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接