image★★★★★★★★宇宙通缉令★★★★★★★★★
1:拉登;2:hammer_shi;3:李同志;4:杀他母
★★★★★★★★★★★★★★★★★★★★★★知道我是谁还不快给我分?

解决方案 »

  1.   

    不知你是用何种编程语言来做数据库程序的。我只能先回答个大概。
        在SQL server里有image数据类型的字段定义,它能保存图片的二进制流信息。
       在编程时,你要把你选择的图片分解成二进制数据流,然后把这个数据流
    存入定义的image数据。这里的编程方法因程序语言的不同而有些差别,那可以上网Down一些源代码(如不少ASP的新闻系统就有这方面的程序应用)。
      

  2.   

    http://www.csdn.net/expert/topic/788/788015.xml?temp=.5868647
      

  3.   

    以下是我在vc中通过编程实现往sql server 数据库中添加图像的程序,我之列出相应部分供你参考。
    OnImageIndb() 为菜单上的命令,浏览某一图像文件便可以添加入库
    void CMainFrame::OnImageIndb() 
    {
    // TODO: Add your command handler code here
    static char BASED_CODE szFilter[] = "Bitmap Files (*.bmp)|*.bmp||";
    CFileDialog     fDlg(TRUE,NULL,NULL,0,szFilter,this);
    if(fDlg.DoModal()!=IDOK)
    return;
    CdbImages imgdb(&theApp.m_DB);
    //在相应的*app类中定义CDatabase m_DB;
    //CdnImages 为基于CRecordset的类,我使用的是ODBC链接
    try
    {
    imgdb.Open();
    imgdb.AddNew(); CFile fImg;
    CFileStatus fStatus;
    fImg.Open(fDlg.GetPathName(),CFile::modeRead);
    fImg.GetStatus(fStatus);
    imgdb.m_OriData.m_dwDataLength=fStatus.m_size;
    HGLOBAL hGlobal=GlobalAlloc(GPTR,fStatus.m_size);
    imgdb.m_OriData.m_hData=GlobalLock(hGlobal);
    fImg.ReadHuge(imgdb.m_OriData.m_hData,fStatus.m_size); imgdb.m_OriName=fImg.GetFileTitle();
    imgdb.SetFieldDirty(&imgdb.m_OriData);
    imgdb.SetFieldNull(&imgdb.m_OriData,FALSE);
    imgdb.Update();
    GlobalUnlock(hGlobal);
    imgdb.Close();

    }
    catch(CException* pE)
    {
    pE->ReportError();
    pE->Delete();
    return;
    }
    }
      

  4.   

    对了,如果在sql server中添加图片当然就非常简单了
    打开sql IE,找到要添加图片的表,双击<binary>,然后粘贴就可,记得用快捷键“crtl+v”,就能把你从画板里“复制”的图片添加到数据库中,当然,配添加图像就的通过编程实现了。同时还得看你是用何种工具了。
      

  5.   

    请问只有bmp格式的才可以存储吗?
    JPG 和GIF 可否用此种方法?
      

  6.   

    我现在希望做成一个比较通用一点的程序,我现在是用delphi,pb在做,delphi可以用dbimage来做已经成功,但是不是很满意,在pb是利用funcky函数来实现,我在想做一个通用的函数来实现,图象和二进制数据流互相转换,这样就不局限在什么工具中用,大家有好办法吗