【发布时间】:2015-01-08 00:07:07
【问题描述】:
我正在尝试从 SQL Server CE 数据库文件中读取二进制数据。
我尝试使用此代码:
string fileName = "C:\\Users\\Luca\\Desktop\\TestNoah\\TestNoah\\NOAHDatabaseCoreSqlCompact.sdf";
connectionString = string.Format("DataSource='{0}'; Persist Security Info=False", fileName);
using (SqlCeConnection con = new SqlCeConnection(connectionString))
{
con.Open();
using (SqlCeCommand command = new SqlCeCommand("SELECT PublicData FROM Action",con))
{
byte[] barrImg = (byte[])command.ExecuteScalar();
List<byte> test = barrImg.ToList<byte>();
string strfn = Convert.ToString(DateTime.Now.ToFileTime());
FileStream fs = new FileStream("C:\\Users\\Luca\\Desktop\\TestNoah\\TestNoah\\" + strfn + ".jpg" , FileMode.CreateNew, FileAccess.Write);
fs.Write(barrImg, 0, barrImg.Length);
fs.Flush();
fs.Close();
}
}
此代码创建了一个我无法打开的图像。有任何想法吗?谢谢大家
【问题讨论】:
-
这将为所有行返回
PublicData。不存在只选择一行的条件吗?或者你可以试试SELECT TOP 1?
标签: c# binary sql-server-ce