【发布时间】:2011-03-30 10:24:42
【问题描述】:
【问题讨论】:
-
具体是c#还是sql的问题?您没有指定哪个版本的 sql server,@Nix 的答案与 sql server 2008 相关,但在此之前您可能受限于常规 BLOB。
-
我应该在我的帖子中说明这一点,但你能解释一下你想如何访问你的数据库吗?
【问题讨论】:
SQL Server BLOB(二进制大对象)允许您将图像和 mp3 数据作为原始二进制文件存储在数据库中。如果您想快速启动并运行某些东西,请检查这个。
使用 ADO,您可以打开一个文件流到您的 mp3,然后将 SQLDbType.VarBinary 类型的命名参数 (SQLParameter) 添加到您的 SQLCommand 对象
SqlConnection conn = new SqlConnection(yourConnectionString);
SqlCommand cmd = null;
SqlParameter param = null;
cmd = new SqlCommand("INSERT INTO MP3 SET DATA = @BLOBPARAM WHERE
'some criteria'", conn);
FileStream fs = null;
fs = new FileStream("your mp3 file", FileMode.Open, FileAccess.Read);
Byte[] blob = new Byte[fs.Length];
fs.Read(blob, 0, blob.Length);
fs.Close();
param = new SqlParameter("@BLOBPARAM", SqlDbType.VarBinary, blob.Length,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, blob);
cmd.Parameters.Add(param);
conn.Open();
cmd.ExecuteNonQuery();
【讨论】:
了解如何使用 FileStream,查看此article,因为它解释了何时、为什么以及如何使用文件流。
为了让我在 C# 方面帮助您,请告诉我您计划如何连接和访问您的数据库。
【讨论】: