我有一个数据库(sql server 2008),我在visual studio 2010中使用c#.
sqlConnection MysqLConnection = new sqlConnection ("Data Source=servername\\sql2008; Initial Catalog=MyData;UID=MyID;PWD=mypassword;"); sqlCommand MysqLCommand = MysqLConnection.CreateCommand(); MysqLCommand.CommandText = "SELECT image_column FROM images_table "; MysqLConnection.open(); sqlDataReader productssqlDataReader = MysqLCommand.ExecuteReader();
我不知道如何继续前进.我的意思是在执行上述语句后如何从阅读器中提取列?此外,我需要逐行遍历整个列并将每个图像转换为IContent项.我是否必须为此编写自己的转换器,或者是否有任何.NET类已经执行此操作?
继承人的情景.我有一个20列的表,其中一列是images_column.该列是唯一的列,其中的图像存储为二进制数据. remainingig列是通常的整数(其大小值)和与该特定图像相关联的字符串(其名称,位置等).我希望现在很清楚.
谢谢.
解决方法
string conn = "Data Source=servername\\sql2008; Initial Catalog=MyData;UID=MyID;PWD=mypassword;"; using (sqlConnection dbConn = new sqlConnection(conn)) { dbConn.open(); string sql = "SELECT DATALENGTH(image_column),image_column FROM images_table "; using (sqlCommand cmd = new sqlCommand(sql,dbConn)) { using (sqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { int size = reader.GetInt32(0); byte[] buff = new byte[size]; reader.GetBytes(1,buff,size); MemoryStream ms = new MemoryStream(buff,buff.Length); ms.Write(buff,buff.Length); StoreImage(Image.FromStream(ms,true)); } } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。