首页 > 数据库 > SQL Server > 正文

BCB 6 sp4 + SQL Server 2k 存取JPEG图像,绝对好用!

2024-08-31 00:47:54
字体:
来源:转载
供稿:网友

在bcb 6 sp4里调试通过,欢迎大虾批评指正。

//opendialog1打开jpeg图像,edit1保存图像地址,image1显示图像//其他格式的图像文件没有试验,可以试试。

    opendialog1->filename="";    if (opendialog1->execute())       {          edit1->text=  opendialog1->filename;          image1->picture->loadfromfile(edit1->text);       }

// 下面:把图像保存到sql server数据库中

 if (!edit1->text.isempty())       {           adoquery1->close();    //自行添加adoconnention,并配置          adoquery1->sql->clear();          adoquery1->sql->add("select * from imgs");          adoquery1->open();          adoquery1->insert();

          adoquery1->fieldbyname("imgaddress")->asstring=edit1->text;          adoquery1->fieldbyname("imgid")->asinteger=edit2->text.toint();         //保存图像的编号          tblobfield *field=dynamic_cast<tblobfield *>(adoquery1->fieldbyname("img")); //img 是image类型的数据          field->loadfromfile(edit1->text);  //这里是关键,要直接从文件调。不要调image1,这样很容易出“jepg error #41”错误

          adoquery1->post();        adoquery1->close();       }

  //从数据库里读取图像

adoquery1->close();adoquery1->sql->clear();adoquery1->sql->add("select * from imgs ");ansistring ddd="where imgid=" +edit1->text;adoquery1->sql->add(ddd);adoquery1->open();if(adoquery1->recordcount==1){    tstream *stream1;  tjpegimage   *pjp=new tjpegimage();   try  {    stream1=adoquery1->createblobstream(adoquery1->fieldbyname("img"), bmread);    pjp->loadfromstream(stream1);    image2->picture->assign(pjp);    delete stream1;  }  __finally  {        delete pjp;  }  }     

ps:第一次发文章,不知道格式怎么样。 ^_^
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表