c# – SQL数据库中的BLOB文件为块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – SQL数据库中的BLOB文件为块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1528字,纯文字阅读大概需要3分钟。
内容图文
![c# – SQL数据库中的BLOB文件为块](/upload/InfoBanner/zyjiaocheng/905/ca30d946696941d496c422e695144849.jpg)
我尝试修改示例:link to example但我收到错误;无法将类型为’System.DBNull’的对象强制转换为’System.Byte []’我认为返回的ID(UniqueIdentifier)不正确.我的代码:
public static Guid AddRecord(string firstCol, DateTime SecCol, string photoFilePath)
{
using (SqlConnection connection = new SqlConnection(
"Data Source=(local);Integrated Security=true;Initial Catalog=Test;"))
{
SqlCommand addRec = new SqlCommand(
"INSERT INTO myTable (firstCol,SecCol,Image) " +
"VALUES (@firstCol,@SecCol,0x0)" +
"SELECT @Identity = NEWID();" +
"SELECT @Pointer = TEXTPTR(Image) FROM myTable WHERE ID = @Identity", connection);
addRec.Parameters.Add("@firstCol", SqlDbType.VarChar, 25).Value = firstCol;
addRec.Parameters.Add("@SecCol", SqlDbType.DateTime).Value = SecCol;
SqlParameter idParm = addRec.Parameters.Add("@Identity", SqlDbType.UniqueIdentifier);
idParm.Direction = ParameterDirection.Output;
SqlParameter ptrParm = addRec.Parameters.Add("@Pointer", SqlDbType.Binary, 16);
ptrParm.Direction = ParameterDirection.Output;
connection.Open();
addRec.ExecuteNonQuery();
Guid newRecID = (Guid)idParm.Value;
StorePhoto(photoFilePath, (byte[])ptrParm.Value, connection);
return newRecID;
}
}
解决方法:
如另一个答案所述,这个例子已经过时了;我不建议使用它.
如果您将其设置为仅作为练习,请更改SQL以将您创建的ID插入myTable,如下所示:
SqlCommand addRec = new SqlCommand(
"SELECT @Identity = NEWID();" +
"INSERT INTO myTable (ID,firstCol,SecCol,Image) " +
"VALUES (@Identity,@firstCol,@SecCol,0x0)" +
"SELECT @Pointer = TEXTPTR(Image) FROM myTable WHERE ID = @Identity", connection);
内容总结
以上是互联网集市为您收集整理的c# – SQL数据库中的BLOB文件为块全部内容,希望文章能够帮你解决c# – SQL数据库中的BLOB文件为块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。