欢迎光临
我们一直在努力

BCB 6 sp4 + SQL Server 2k 存取JPEG图像,绝对好用!-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

在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:第一次发文章,不知道格式怎么样。 ^_^

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » BCB 6 sp4 + SQL Server 2k 存取JPEG图像,绝对好用!-数据库专栏,SQL Server
分享到: 更多 (0)

相关推荐

  • 暂无文章