图片存取的完整操作过程

Integer li_rtn = 0
String ls_pathname, ls_filename
String ls_ext = "JPG"
String ls_filter = "JPG文件, *.JPG,图片文件(*.BMP), *.BMP"
//确定要写入的文件名
li_rtn = GetFileOpenName("请选择一张图片", ls_pathname, ls_filename, ls_ext, ls_filter)
if li_rtn = 1 then
    Long ll_filelen = 0
        //文件长度
    ll_filelen = FileLength(ls_pathname)
        //打开文件
    li_rtn = FileOpen(ls_pathname, StreamMode!)
    if li_rtn <> -1 then
        Blob lblb_pic, lblb_temp
        Int i = 0
        do until ll_filelen <= 0
                        //读取文件
            FileRead(li_rtn, lblb_temp)
            lblb_pic = lblb_pic + lblb_temp
            ll_filelen -= 32765
            i ++
                        //定位指针
            FileSeek(li_rtn, 32765 * i + 1)
        loop
                //关闭文件
        FileClose(li_rtn)
        iblb_pic = lblb_pic
        p_1.SetPicture(iblb_pic)
    end if
   //还可以保存图片的路径,该字段为string类型在找到图片后直接用p_1.picturename = ls_filename
   //保存ls_filename即可
end if

点击商品时显示对应的图片:
sql sever对应的字段类型为image
blob lblb_pic
lblb_pic = blob("")

SelectBlob photo Into :lblb_pic
    From goods
    Where goodscode = :is_goodscode;
sqlca.AutoCommit = false

//数据库中没有对应的图片要有一个默认的图片
if IsNULL(lblb_pic) or lblb_pic = blob("") then
    int li_rtn = 0
    li_rtn = FileOpen("./PIC/Question.bmp", StreamMode!)
    if li_rtn <> -1 then
        blob lblb_temp
        FileRead(li_rtn, lblb_temp)
        FileClose(li_rtn)
        lblb_pic = lblb_temp
       
    end if
end if
//确定对应的图片
//可以直接写成p_1.picturename = "./PIC/Question.bmp"
p_1.SetPicture(lblb_pic)
//更新图片
UPDATEBLOB Goods
Set Photo = :iblb_pic
Where goodscode = :is_goodscode;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值