WEB开发网
开发学院数据库MSSQL Server SQL Server 2008中的FileStream支持 阅读

SQL Server 2008中的FileStream支持

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示: 对于客户端编程来说,是没有区别的,SQL Server 2008中的FileStream支持(3),这只是服务器的一个存储改变保存//保存音乐文件try{OpenFileDialog dialog = new OpenFileDialog();dialog.Filter = "音乐文件

对于客户端编程来说,是没有区别的,这只是服务器的一个存储改变

保存

//保存音乐文件
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); }

上一页  1 2 3 

Tags:SQL Server FileStream

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接