可以存到 Access数据库的,我发个例子

解决方案 »

  1.   

    http://dev.xxsky.com/20040918/20040918130121.html
      

  2.   

    哦,是我尊敬的孟子大哥啊,我的Email: [email protected]
    QQ:63308611
    我等着
      

  3.   

    http://dev.xxsky.com/20040918/20040918130121.htmlhttp://dev.xxsky.com/20040918/20040918130210.html
      

  4.   

    OleDbCommand cm=new OleDbCommand("insert into 类别 (图片) values (@i)",conn);
    cm.Parameters.Add("@i",OleDbType.Binary);
    cm.Parameters["@i"].Value=b;
    cm.ExecuteNonQuery();
      

  5.   

    这是成功的例子//构建数据库连接,SQL语句,创建参数
    string strCnn  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
    OleDbConnection myConnection = new OleDbConnection(strCnn);
    OleDbCommand command = new OleDbCommand ("INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage)" + 
    "VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage)", myConnection);System.Data.OleDb.OleDbParameter paramPersonName = new OleDbParameter("@PersonName", System.Data.OleDb.OleDbType.VarChar,50); 
    paramPersonName.Value = fileTitle;
    command.Parameters.Add(paramPersonName);System.Data.OleDb.OleDbParameter paramPersonEmail = new OleDbParameter("@PersonEmail", System.Data.OleDb.OleDbType.VarChar,50);
    paramPersonEmail.Value = "[email protected]";
    command.Parameters.Add(paramPersonEmail);System.Data.OleDb.OleDbParameter paramPersonSex = new OleDbParameter("@paramPersonSex", System.Data.OleDb.OleDbType.VarChar,50); 
    paramPersonSex.Value = "男";
    command.Parameters.Add(paramPersonSex);System.Data.OleDb.OleDbParameter paramPersonImageType = new OleDbParameter("@PersonImageType", System.Data.OleDb.OleDbType.VarChar,50);
    paramPersonImageType.Value = fileType;
    command.Parameters.Add(paramPersonImageType);System.Data.OleDb.OleDbParameter paramPersonImage = new OleDbParameter("@PersonImage", System.Data.OleDb.OleDbType.Binary); 
    paramPersonImage.Value = fileData;
    command.Parameters.Add(paramPersonImage);//打开连接,执行查询
    myConnection.Open();
    command.ExecuteNonQuery();
    myConnection.Close();
      

  6.   

    net_lover(孟子E章) 兄:
    我安装您的方法试验了,去掉(int)b.Length,结果
    在cm.ExecuteNonQuery();出现错误:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。
      

  7.   

    net_lover(孟子E章) ,我试过了,还是不行!
    我想,既然这后面的插入代码我们的都一样,那是不是因为前面的转换二进制的代码有问题啊?
    就是:MemoryStream s = new MemoryStream();
    pictureBox1.Image.Save(s,System.Drawing.Imaging.ImageFormat.Bmp);
    byte[] b = s.ToArray();请赐教!
    感激不尽!
      

  8.   

    这个贴我有兴趣.Access2000中没有二进制的数据类型,这个("@PersonImage", System.Data.OleDb.OleDbType.Binary); 怎么能进去呢?
      

  9.   

    孟子E章说的对。
    楼主说的也对,但你可能是数据库设计的问题,如其他字段被设计成必填项。
    BlueLevin(蔚蓝闪电,主宰自我世界) 说的不太对,因为ACCESS中是没有明确说有二进制的类型,但OLE就是二进制。它可以包括WORD/EXCEL/各种图片格式。关键是:cmd.Parameters.Add("@i",SqlDbType.Binary,(int)fs.Length);