请问如何把图片存入数据库,然后读出来? 请问如何把图片存入数据库中,然后读出来显示在picturebox中。我还想问一下,对于这种情况,是把图片存入数据库好,还是把图片的路径存入数据库好?那种方式比较好?最后能给一段示范的代码?小弟谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/alexzhang00/archive/2004/10/17/140317.aspx http://dotnet.aspx.cc/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1 数据库是用来索引和搜索的你存着图片用来 select 图片 from table where 图片 like '%花%' 吗?呵呵存着路径肯定好的多,瞧瞧SQL的书了解页是什么就知道了 '*** 先将二进制数据保存到buffer数组中dim buffer() as byte=....'*** 建立update命令及参数Dim cmd As New SqlClient.SqlCommand("update [table1] set [image]=@image where id=@id", Me.SqlConnection1)cmd.Parameters.Add(New SqlClient.SqlParameter("@image", SqlDbType.Image, Integer.MaxValue))cmd.Parameters.Add(New SqlClient.SqlParameter("@id", SqlDbType.Int))'*** 向参数赋值m_cmdUpdate.Parameters(0).Value = bufferm_cmdUpdate.Parameters(1).Value = ID'*** 执行updatem_cmdUpdate.ExecuteNonQuery()这是我以前的例子clsPublicDB myDB=new clsPublicDB(); SqlCommand myCmd=myDB.mySqlConn.CreateCommand(); // //ID,ProviderID,BigClassID,Product,Price,VipPrice,StockNum,IsStock,spec,intro,description,addDate string strsql="insert into tProduct (ProviderID,BigClassID,Product,Price,VipPrice,StockNum,IsStock,spec,intro,descr,addDate,iscommend,photo) values "+ "("+iProviderID+","+iClassifyID+",'"+this.txtProduct.Text.Trim()+"',"+this.txtPrice.Text.Trim()+","+this.txtVipPrice.Text.Trim()+","+intNum+","+isStock+",'"+this.txtSpec.Text.Trim()+"','"+this.txtIntro.Text.Trim()+"','"+this.txtDescription.Text.Trim()+"','"+DateTime.Now.ToShortDateString()+"',"+bCommend +",@photo)"; myCmd.CommandText=strsql; FileStream file = new FileStream(sFile,FileMode.Open, FileAccess.Read); Byte[] bytBLOBData = new Byte[file.Length]; file.Read(bytBLOBData, 0, bytBLOBData.Length); file.Close(); SqlParameter prm=new SqlParameter("@photo",SqlDbType.VarBinary,bytBLOBData.Length,ParameterDirection.Input,false,0,0,null,DataRowVersion.Default,bytBLOBData); myCmd.Parameters.Add(prm); //olecommand.Parameters.Add(new OleDbParameter("jpeg",OleDbType.Binary,bytBLOBData.Length,ParameterDirection.Input,true,0,0,null,DataRowVersion.Default,bytBLOBData)); myDB.subOpenSqlDbConn();//打开 myCmd.ExecuteNonQuery(); myDB.subCloseSqlDbConn();//关闭其中photo就是二进制类型,你可以参考以下 数据库中操作图片How To Read and Write BLOB Data by Using ADO.NET with Visual C# .NEThttp://support.microsoft.com/default.aspx?scid=kb;EN-US;309158把任意类型的文件保存到SQL Serverhttp://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635 vs2010能开发wince应用程序吗?? c# 使用vs2010无法编译.net2.0的项目 QQ好友列表的实现 dot net 2.0中修改ACCESS 中的表数据为什么没有异常也没有更新数据? 关于 Array.Copy 一个反射的问题 Update时出错(高手指导). c#中如何覆盖listview中的原值,高人速救。。。。 枚举类型小疑惑?????????????????? [请问]C#中有哪些现成的对象可以缓存数据的? c#里ado.net连接oracle9i问题? 在DataGrid 中怎样屏闭delete按键的删除功能
http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1
你存着图片用来 select 图片 from table where 图片 like '%花%' 吗?呵呵
存着路径肯定好的多,瞧瞧SQL的书了解页是什么就知道了
dim buffer() as byte=....'*** 建立update命令及参数
Dim cmd As New SqlClient.SqlCommand("update [table1] set [image]=@image where id=@id", Me.SqlConnection1)
cmd.Parameters.Add(New SqlClient.SqlParameter("@image", SqlDbType.Image, Integer.MaxValue))
cmd.Parameters.Add(New SqlClient.SqlParameter("@id", SqlDbType.Int))'*** 向参数赋值
m_cmdUpdate.Parameters(0).Value = buffer
m_cmdUpdate.Parameters(1).Value = ID'*** 执行update
m_cmdUpdate.ExecuteNonQuery()这是我以前的例子clsPublicDB myDB=new clsPublicDB();
SqlCommand myCmd=myDB.mySqlConn.CreateCommand();
//
//ID,ProviderID,BigClassID,Product,Price,VipPrice,StockNum,IsStock,spec,intro,description,addDate
string strsql="insert into tProduct (ProviderID,BigClassID,Product,Price,VipPrice,StockNum,IsStock,spec,intro,descr,addDate,iscommend,photo) values "+
"("+iProviderID+","+iClassifyID+",'"+this.txtProduct.Text.Trim()+"',"+this.txtPrice.Text.Trim()+","+this.txtVipPrice.Text.Trim()+","+intNum+","+isStock+",'"+this.txtSpec.Text.Trim()+"','"+this.txtIntro.Text.Trim()+"','"+this.txtDescription.Text.Trim()+"','"+DateTime.Now.ToShortDateString()+"',"+bCommend +",@photo)";
myCmd.CommandText=strsql;
FileStream file = new FileStream(sFile,FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[file.Length];
file.Read(bytBLOBData, 0, bytBLOBData.Length);
file.Close();
SqlParameter prm=new SqlParameter("@photo",SqlDbType.VarBinary,bytBLOBData.Length,ParameterDirection.Input,false,0,0,null,DataRowVersion.Default,bytBLOBData);
myCmd.Parameters.Add(prm);
//olecommand.Parameters.Add(new OleDbParameter("jpeg",OleDbType.Binary,bytBLOBData.Length,ParameterDirection.Input,true,0,0,null,DataRowVersion.Default,bytBLOBData));
myDB.subOpenSqlDbConn();//打开
myCmd.ExecuteNonQuery();
myDB.subCloseSqlDbConn();//关闭其中photo就是二进制类型,你可以参考以下
How To Read and Write BLOB Data by Using ADO.NET with Visual C# .NET
http://support.microsoft.com/default.aspx?scid=kb;EN-US;309158
把任意类型的文件保存到SQL Server
http://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635