²©¿Í | Linux | ÂÛ̳ | È˲Š| Åàѵ | ֪ʶ¿â | ×ÊÁÏ | ¶ÁÊé | ÊÖ²á | ¾«»ª | ÏÂÔØ | ɳÁú | ËÑË÷
Ê×Ò³ ¡¬ ÐÂÎÅ ¡¬ ASE ¡¬ PB/PD ¡¬ Sybase IQ ¡¬ iAnywhere ¡¬ RS ¡¬ ÂÛ̳ ¡¬ ר¼Ò·Ã̸ ¡¬ ÏÂÔØ ¡¬ SDN×¨Çø

ChinaUnix -> SYBASE¼¼Êõ -> ¼¼ÊõÎÄÕ ->PB/PD -> ÕýÎÄ

ÔÚPBÖÐÓÃOLE´æÈ¡blobÀàÐÍÊý¾Ý
ÈÕÆÚ£º2007-07-06 ChinaUnix.net


¡¡¡¡Ç°ÑÔ£ºÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾­³£ÐèÒªÔÚÊý¾Ý¿âÖд洢һЩ±¸×¢ÐÅÏ¢£¬¶øÕâЩ±¸×¢ÐÅÏ¢µÄÄÚÈÝÒ»°ã½Ï´ó£¬¸ñʽ¶àÑù-ÈçÓпÉÄÜÊÇÓïÒôÎļþ¡¢ÊÓÆµÎļþ¡¢Í¼Æ¬Îļþ¡¢Îı¾ÎļþµÈ£¬ÔõÑùÔÚPBÖÐʵÏÖÕâЩ¸ñʽ²»Í¬µÄ±¸×¢ÎļþµÄ´æÈ¡¼°Ô¤ÀÀ£¬Ò»Ö±ÊÇPB¿ª·¢ÈËÔ±±È½Ï¹ØÐĵÄÒ»¸öÎÊÌ⣬±¾ÎÄϵͳµÄ½éÉÜÁËÈýÖÖ´æÈ¡±¸×¢¶þ½øÖÆÐÅÏ¢µÄ·½·¨¡£

¡¡¡¡¶Ô±¸×¢¶þ½øÖÆÐÅÏ¢µÄ´æ´¢¿ÉÒÔ²ÉÓÃÒÔÏÂÈýÖÖ·½Ê½£»

¡¡¡¡·½·¨Ò»£ºÎļþ±£´æÔڹ̶¨µÄ·¾¶Ï£¬Êý¾Ý¿âÖдæÈ¡Îļþ·¾¶ºÍÃû³Æ

¡¡¡¡·½·¨¶þ£ºÊý¾Ý¿âÖÐÓÃblobÀàÐÍ»òÕßvarbinaryÀàÐÍ×ֶδ洢±¸×¢Îļþ

¡¡¡¡·½·¨Èý£ºÔÚ±¾µØÓÃOLE´æ´¢½á¹¹´æ´¢±¸×¢Îļþ

¡¡¡¡1¡¢OLEµÄ»ù±¾¸ÅÄî

¡¡¡¡OLEÊÇObject Linking Embedding(¶ÔÏóÁ´½áÓëǶÈë)µÄËõд£¬Ëü¿ÉÒÔʹwindowsÓ¦ÓóÌÐò¹²ÏíÊý¾ÝºÍ³ÌÐò¡£

¡¡¡¡2¡¢OLE¿Ø¼þ

¡¡¡¡ÔÚPBÖÐOLE¿Ø¼þÊÇÒ»¸öOLE¶ÔÏóµÄ°üÈÝÆ÷£¬¿ÉÒÔʹÓ÷þÎñÆ÷Ó¦ÓóÌÐòÌṩµÄ¹¦ÄܺÍÃüÁîÀ´±à¼­¶ÔÏó£¬Ò²¿ÉÒÔʹÓÃ×Ô¶¯»¯OLE½»»¥£¬ÔÚ³ÌÐòÖ줻î¶ÔÏóºÍÏò·þÎñÆ÷Ó¦ÓóÌÐò·¢ËÍÃüÁÔÚPB µÄwindow»­°åÖеÄOLE¿Ø¼þÔÊÐíÓû§´Ó¶à¸öÓ¦ÓóÌÐòǶÈëºÍÁ´½á×é¼þ

¡¡¡¡2.1½¨Á¢ºÍÉèÖÃOLE¿Ø¼þ

¡¡¡¡´Ówindow»­°åÖÐÑ¡ÔñOLE¿Ø¼þ²åÈëwindow¡£

¡¡¡¡µ±½¨Á¢Ò»¸öOLE¿Ø¼þ²¢ÇÒ²åÈëÒ»¸ö¶ÔÏóʱ£¬PB½«¼¤»î·þÎñÆ÷Ó¦ÓóÌÐòÒÔÔÊÐí¶Ô¶ÔÏó½øÐб༭ºÍÐ޸ģ»ÔÚʹOLEÖеĶÔÏó³ÆÎª·Ç»î¶¯×´Ì¬ºó£¬¿ÉÒÔʹÓÿؼþÊôÐÔÑ¡ÏÀ´ÉèÖÿؼþµÄÊôÐÔ¡£

¡¡¡¡2.2 ¼¤»îÐÞ¸Äwindow»­°åÖеÄOLE¶ÔÏó

¡¡¡¡ÔÚOLE¿Ø¼þµÄµ¯³ö²Ëµ¥ÖÐÑ¡Ôñopen¿ÉÒÔ¼¤»î»­°åÖÐOLE¶ÔÏó

¡¡¡¡Ê¹Ó÷þÎñÆ÷Ó¦ÓóÌÐòÐÞ¸ÄOLE¶ÔÏó

¡¡¡¡½áÊøÐ޸ģºÊ¹¶ÔÏó»Ö¸´Îª·Ç»î¶¯×´Ì¬£¬Ö»Òªµ¥»÷·þÎñÆ÷Ó¦ÓöÔÏóÖ®ÍâµÄÈκÎÇøÓò¼´¿É£¬Ò²¿ÉÒÔÖ±½Ó¹Ø±Õ·þÎñÆ÷Ó¦ÓóÌÐòµÄ´°¿Ú¡£

¡¡¡¡2.3 ǶÈëºÍÁ´½áOLE¿Ø¼þ

¡¡¡¡¿ÉÒÔ½«OLE¶ÔÏóǶÈë»òÕßÁ´½áµ½×Ô¼ºµÄÓ¦ÓóÌÐòÖС£Ç¶Èë¶ÔÏóµÄÊý¾Ý·ÅÔÚÓ¦ÓóÌÐòÖУ¬ÔÚ¿ª·¢¹ý³ÌÖÐÕâЩÊý¾Ý·ÅÔÚÓ¦ÓóÌÐòµÄPBl¿âÖУ¬µ±Éú³ÉÓ¦Óúó£¬ÕâЩÊý¾Ý½«´æ·ÅÔÚexe»òPBdÎļþÖУ¬ËäÈ»ÔÚ³ÌÐòµÄÔËÐйý³ÌÖпÉÒÔÐ޸쬵«Ð޸ĵÄÊý¾Ý²»»á±£´æ£»Á´½á¶ÔÏóµÄÊý¾Ý´æ·ÅÔÚPBÓ¦ÓóÌÐòÒÔÍ⣬µ±Á´½áÒ»¸ö¶ÔÏóʱ£¬ÔÚPBÓ¦ÓóÌÐòÖв»´æ·ÅÊý¾ÝÎļþ£¬¶øÊÇ´æ·ÅÒýÓÃÊý¾ÝµÄÖ¸Õë, ʹÓÃÁ´½áµÄÊý¾Ý£¬¶ÔÊý¾ÝµÄ¹ÜÀíºÍ±£´æ¶¼ÓÉ·þÎñÆ÷Ó¦ÓóÌÐò¸ºÔð¡£ÕâÑù¿ÉÒÔÓ÷þÎñÆ÷Ó¦ÓóÌÐòÐ޸Ĵ¦ÀíÊý¾Ý£¬´¦ÀíºóµÄÊý¾Ý¿ÉÒÔ±£´æ»ØÔ­ÎļþÖС£Á´½á·½Ê½Ó¦ÓÃÓÚÐèÒª¶à¸öÓ¦ÓóÌÐò¹²ÏíµÄÊý¾ÝÎļþ£¬ÈκÎÒ»¸öÓ¦ÓóÌÐòÐÞ¸ÄÁËÊý¾ÝÎļþ£¬¶¼½«Ó°Ïìµ½ËùÓÐÁ´½á¸ÃÎļþµÄÓ¦ÓóÌÐò¡£

¡¡¡¡2.4 OLE¿Ø¼þµÄ¼¤»î·½Ê½

¡¡¡¡OLE¿Ø¼þµÄ¼¤»î·½Ê½ÓÐoffsiteºÍin-placeÁ½ÖÖ¼¤»î·½Ê½£¬offsite¼¤»î·½Ê½ÊÇÖ¸ÔÚPBÓ¦ÓóÌÐòµÄ½çÃæÒÔÍâµ¥¶À´ò¿ªOLE¶ÔÏó£¬in -place¼¤»î·½Ê½ÊÇÖ¸PBÓ¦ÓóÌÐòµÄ½çÃæµÄԭλÖôò¿ªOLE¶ÔÏó¡£ÔÚÊý¾Ý´°¿ÚÖеÄdbOLEĬÈϵÄÊÇoffsite¼¤»î·½Ê½£¬¶øwindowÖÐµÄ OLEĬÈϵļ¤»î·½Ê½ÊÇin-place¡£

¡¡¡¡ÔÚPBÓ¦ÓóÌÐòÖпÉÒÔÓÃÃüÁî

¡¡¡¡OLE_control.active(offsite) »òÕßOLE_control.active(in-place)ÉèÖÃOLE¶ÔÏóµÄÒÔºÎÖÖ·½Ê½´ò¿ª¡£

¡¡¡¡2.5 ÉèÖúͲåÈëOLE¶ÔÏó

¡¡¡¡ÔÚ³ÌÐòÔËÐÐʱ¿ÉÒÔÓú¯Êý£º

¡¡¡¡OLE_control.insertfile(soucefile) ²åÈë¶ÔÏó

¡¡¡¡OLE_control.objectdata = blobvar ÉèÖöÔÏó

¡¡¡¡3¡¢OLE´æ´¢

¡¡¡¡3.1 OLE´æ´¢(OLEstorage)µÄ¸ÅÄî

¡¡¡¡OLE´æ´¢(OLEstorage)ÊÇOLEÊý¾ÝµÄÒ»¸ö²Ö¿â£¬´æ´¢¾ÍÏó´ÅÅÌÉϵÄĿ¼½á¹¹£¬Ëü¿ÉÒÔÊÇÒ»¸öOLE¶ÔÏó£¬Ò²¿ÉÒÔ°üº¬ÔÚOLE¶ÔÏóÖУ¬Ã¿¸ö¶ÔÏó¶¼°üº¬ÔÚ OLE´æ´¢»òÕß´æ´¢ÄÚµÄ×Ó´æ´¢ÄÚ¡£±£´æÔÚOLE´æ´¢ÖÐÊý¾Ý³Æ×÷OLEÁ÷(OLE stream)£¬OLEÁ÷ͬOLE¶ÔÏóµÄ¹ØÏµ¾ÍÏóÎļþͬĿ¼µÄ¹ØÏµ¡£º¬ÓÐ OLE¶ÔÏóµÄ´æ´¢»ò×Ó´æ´¢¿ÉÒÔ¿´×öÊÇÊôÓÚÌØÊâ·þÎñÆ÷µÄÐÅÏ¢£¬Ôڸòã´Î֮ϵĸ÷²¿·Ö¶¼¿ÉÒÔ±»ÏàÓ¦µÄ·þÎñÆ÷³ÌÐò²Ù×÷¡£OLE´æ´¢¶ÔÏóÊÇÀàÓû§¶ÔÏ󣬿ÉÒÔ˵Ã÷ÏàÓ¦ÀàÐ͵ıäÁ¿£¬½¨Á¢ÓëÖ®ÏàÓ¦µÄʵÀýºÍ´ò¿ª´æ´¢µÈ£¬ÔÚʹÓÃÍê´æ´¢ºóÐèÒª¹Ø±Õ´æ´¢¡¢ÊÍ·Å·ÖÅäµÄÄÚ´æ¡£

¡¡¡¡3.2 OLE´æ´¢µÄ´ò¿ªºÍ±£´æ

¡¡¡¡OLE´æ´¢¿ÉÒÔÓÃopenº¯Êý´ò¿ª£¬openº¯ÊýµÄ¸ñʽΪ£º

¡¡¡¡Olecontrol.Open(OLEsourcefile)£¬

¡¡¡¡´Ëº¯ÊýÔÚOLEsourcefile²»´æÔÚʱ£¬×Ô¶¯´´½¨¸ÃÎļþ£¬ËùÒÔ´´½¨OLEÎļþÒ²Óøú¯Êý£» OLE´æ´¢¿ÉÒÔÓÃsaveº¯Êý±£´æ£¬saveº¯ÊýµÄ¸ñʽΪ£º

¡¡¡¡OLEcontrol.save() // ±£´æOLE¿Ø¼þ

¡¡¡¡OLEstorage.save() //±£´æOLE´æ´¢

¡¡¡¡4¡¢´¦ÀíblobÀàÐÍÊý¾Ý

¡¡¡¡¶ÔÓÚ´ó¶þ½øÖÆÊý¾Ý£¬ÔÚPB ScriptÖÐÊÇÓÃblobÊý¾ÝÀàÐͱíʾ²¢¼ÓÒÔ´¦Àí¡£±ê×¼SQLÓï¾äÖеÄselect¡¢insertºÍupdateÓï¾äÎÞ·¨Ö±½Ó²éѯblobÀàÐ͵ÄÊý¾Ý£¬ÔÚPBÖвÙ×÷blobÀàÐ͵ÄÊý¾ÝÖ»ÄÜÓÃרÓõÄÓï¾ä£¬´ÓÊý¾Ý¿âÖвéѯblobÀàÐ͵ÄÊý¾ÝµÄÃüÁîÊÇ£º

¡¡¡¡selectblob restofselectstatement £ûusing transactionobject£ý£»

¡¡¡¡¸üÐÂÊý¾Ý¿âÖÐblobÀàÐÍÊý¾ÝµÄ¸ñʽÊÇ£º

¡¡¡¡updateblob tablename

¡¡¡¡set blobcolumn = blobvarible ¡¡

¡¡¡¡restofupatestatement {using transctionobject}£»

¡¡¡¡ÈçÁ¬½ÓµÄÊý¾Ý¿âÊÇsybase»òÕßSql£¬ÔòselectblobºÍupdateblobÓï¾äÒªÇóÊý¾Ý¿âµÄ×Ô¶¯Ìá½»·½Ê½Îªtrue£¬ËùÒÔÔÚÔÚÿ´Îµ÷ÓÃselectblobºÍupdateblobÓï¾äÒÔǰ±ØÐëÓÃÃüÁî Sqlca.autocommit=true£¬°ÑÊý¾Ý¿âµÄ×Ô¶¯Ìá½»·½Ê½ÉèÖÃΪtrue£¬ÔÚupdateblobÓï¾äµÄ½áÊøºó£¬ÔÙÓÃÃüÁîSqlca.autocommit = false£¬°Ñ×Ô¶¯Ìá½»·½Ê½ÉèÖÃΪ false¡£ Ë÷Êý¾ÝµÄ²ÎÊý(Èçflag)£¬È»ºóÔÚ¿ÉÐÞ¸ÄÁеÄProtectºóµÄ¿òÖÐÊäÈë(user_nameÊǸÃDataWindowÖеÄÒ»ÁУ¬´ú±íÊäÈëÕßµÄÃû³Æ)£º

¡¡¡¡5¡¢Êý¾Ý´°¿ÚµÄblobÁÐ

¡¡¡¡5.1 Êý¾Ý´°¿ÚblobÁеŦÄÜ

¡¡¡¡ÔÚPB µÄdatawindow»­°åÖÐDBOLE¿Ø¼þÔÊÐíÓû§ÀûÓÃÕâ¸ö¿Ø¼þä¯ÀÀºÍ²Ù×÷Êý¾Ý¿âÖеĴó¶þ½øÖÆÊý¾Ý£¬¼´Í¨¹ýDBOLE¿Ø¼þ¿ÉÒÔ×÷ÈçϲÙ×÷£º

¡¡¡¡ÍùÊý¾Ý¿âÖд洢´ó¶þ½øÖÆÊý¾Ý£¬È磺excel¹¤×÷±í¡¢wordÎĵµ¡¢ÊÓÆµÎļþ¡¢Í¼Æ¬ÎļþµÈ¸÷ÖÖ¸ñʽµÄÎļþ£»

¡¡¡¡¡ñ ´ÓÊý¾Ý¿âÖмìË÷Êý¾Ýµ½datawindow¶ÔÏó£» ¡¡¡¡

¡¡¡¡¡ñ ʹÓÃOLE·þÎñÆ÷³ÌÐò²ì¿´ÐÞ¸ÄÊý¾Ý£» ¡¡¡¡

¡¡¡¡¡ñ ½«Ð޸ĺóµÄÊý¾Ý±£´æ»ØÊý¾Ý¿â£»

¡¡¡¡5.2 ÔÚÊý¾Ý´°¿ÚÖÐÌí¼ÓblobÁеĵIJ½Öè

¡¡¡¡1) Ñ¡Ôñ¾ßÓжþ½øÖÆ×ֶεÄÊý¾Ý±í×÷ΪÊý¾ÝÔ´½¨Á¢Ò»ÐµÄÊý¾Ý´°¿Ú(¸Ã´°¿Ú¿ÉÒÔÖÁÉÙÐèÒª°üº¬·ÇÊý¾Ý¿â±íµÄ±êʶÁÐ)

¡¡¡¡2) Ñ¡Ôñinsert -control-OLE database blob ²Ëµ¥£¬ÔÚÊý¾Ý´°¿ÚµÄdetail½ÚÖÐÒª²åÈëblobÁеÄλÖõ¥»÷Êó±ê£¬Õâʱ½«ÏÔʾÈçͼ1ËùʾµÄ¶Ô»°¿ò

¡¡¡¡ÏÂÃæ½âÊÍÕâЩÊôÐԵľßÌ庬Òå

¡¡¡¡1) client class£º ¿Í»§ÀàÃû£¬Ä¬ÈÏΪdatawindow

¡¡¡¡2) client name£º¿Í»§Ãû£¬Ä¬ÈÏΪuntitled

¡¡¡¡3) table: Ñ¡Ôñº¬ÓÐblobÁеÄÊý¾Ý¿â±í£¬ËùÑ¡±íµÄ×ֶν«³öÏÖÔÚÓÒ²àµÄlarge binary/text columnÁбí¿òÖС£

¡¡¡¡4) large binary/text column£ºÑ¡ÔñÒ»¸öblobÀàÐ͵Ä×Ö¶ÎÁÐ

¡¡¡¡5) key clause£º¼ìË÷ºÍ¸üÐÂblobÊý¾ÝµÄ¹Ø¼ü×Ö±í´ïʽÆäÖÐʹÓôøÃ°ºÅǰ׺µÄ±äÁ¿Ö¸³öÊÇÊý¾Ý´°¿Ú¶ÔÏóµÄÁУ¬Èç ±í´ïʽ id=:id£¬idÊÇÊý¾Ý¿â±íÖеÄÁУ¬±äÁ¿Ö¸³öÊý¾Ý´°¿Ú¶ÔÏóµÄÁÐ

¡¡¡¡6) filetemplate £ºÈç¹ûÐèÒªOLEÓ¦Ó÷þÎñÆ÷ÿ´Î´ò¿ªÏàͬµÄÎļþ£¬ÔòÔÚfiletemplate¿òÖÐÊäÈëÎļþÃû¡£

¡¡¡¡7) OLE class £ºÈç¹û²»ÐèÒªOLEÓ¦Ó÷þÎñÆ÷ÿ´Î´ò¿ªÏàͬµÄÎļþ£¬ÔòÔÚOLE class¿òÖÐÑ¡ÔñÒ»¸öOLEÀ࣬ÈçPbrush¡£

¡¡¡¡8) Client name expression£ºÏÔʾÔÚOLE·þÎñÆ÷Ó¦ÓóÌÐò´°¿Ú±êÌâµÄÎÄ×Ö£¬¿ÉÒÔÊäÈëΪ£º"¶ÔÓ¦¼Ç¼µÄidºÅÊÇ"+id

¡¡¡¡µ¥»÷ok°´Å¥¹Ø±Õ¶Ô»°¿ò£¬½«dboleÁÐÌí¼Óµ½Êʵ±µÄλÖ㬱£´æÊý¾Ý´°¿Ú¡£

¡¡¡¡Ô¤ÀÀÔò¿ÉÒÔ¶ÔÊý¾Ý¿âÖеÄblobÊý¾Ý½øÐдæÈ¡£¬µ«ÊÇÔÚн¨µÄ¼Ç¼ÖÐÖ»ÄÜ´æÈ¡OLE class¿òÖÐÑ¡ÔñµÄÒ»ÖÖ¸ñʽµÄblobÊý¾Ý£¬²»ÄÜ´æ´¢¶àÖÖ¸ñʽµÄÊý¾Ý£»µ«Èç¹ûÊý¾Ý¿âÖдæÓжàÖÖ¸ñʽµÄÊý¾Ý£¬¿ÉÒÔÔ¤ÀÀ¸÷ÖÖ¸ñʽµÄÊý¾Ý¡£

¡¡¡¡6¡¢Ô´³ÌÐò½¨Á¢

¡¡¡¡1) Ê×ÏÈÔÚÊý¾Ý¿âÖн¨Á¢ÈçϽṹµÄ±íblobsave£º

¡¡¡¡×Ö¶ÎÃû³Æ¡¡Êý¾ÝÀàÐÍ¡¡¡¡±¸×¢

¡¡¡¡id¡¡¡¡¡¡¡¡char(4)¡¡primairy key index

¡¡¡¡s_path¡¡¡¡char(50)

¡¡¡¡pic¡¡¡¡binary (50)

¡¡¡¡2) ÔÚPB½¨Á¢PBl¿âblobsave.PBl

¡¡¡¡3) ÔÚPBl¿âblobsave.PBlÖн¨Á¢Ó¦ÓÃblobsave

¡¡¡¡ÔÚÓ¦ÓõÄopenʼþÖÐÉèÖÃÊý¾Ý¿âÁ¬½Ó³ÌÐò(±¾³ÌÐòÖвÉÓõÄÊÇodbc·½Ê½Á¬½ÓÊý¾Ý¿â£¬¶ÁÕ߿ɸù¾Ý×Ô¼ºËù½¨Á¢µÄÊý¾Ý¿âµÄ²»Í¬Ñ¡Óò»Í¬µÄÁ¬½Ó·½Ê½£¬ÒÔÏÂÁ¬½ÓÊý¾Ý¿âµÄ´úÂëÒ²ÓÐËù¸Ä¶¯£¬ÖÁÓÚÁ¬½Ó²»Í¬µÄÊý¾Ý¿âµÄ·½·¨£¬Çë²Î¿¼ÓйØ×ÊÁÏ£¬±¾ÎIJ»×öÏêϸ½éÉÜ)£º

¡¡¡¡SQLCA.DBMS = "ODBC"

¡¡¡¡SQLCA.AutoCommit = False

¡¡¡¡SQLCA.DBParm = "Connectstring="DSN=blob""

¡¡¡¡connect£»

¡¡¡¡open(w_main)

¡¡¡¡ÆäÖÐÃüÁî°´Å¥cb_pathµÄclickedÖеĴúÂë¸ñʽÈçÏ£ºopen(w_path)

¡¡¡¡ÆäÖÐÃüÁî°´Å¥cb_dbblobµÄclickedÖеĴúÂë¸ñʽÈçÏ£ºopen(w_dbblob)

¡¡¡¡ÆäÖÐÃüÁî°´Å¥cb_OLEblobµÄclickedÖеĴúÂë¸ñʽÈçÏ£ºopen(w_OLEblob)

¡¡¡¡4) ½¨Á¢Êý¾Ý´°¿Údw_blobsave

¡¡¡¡°´ÕÕÉÏÎÄÖн¨Á¢Êý?Ý´°¿ÚµÄblobÁеķ½·¨½¨Á¢Êý¾Ý´°¿Údw_blobsaveÈçͼËùʾ£º

¡¡¡¡ÆäÖУºadd£¬del,save,cancel,,retrieveµÈ·Ö±ðΪÊý¾Ý´°¿Údw_blobsaveµÄappend row£¬delete row£¬update£¬retrieve¶¯×÷°´Å¥¡£

¡¡¡¡Ê×ÏÈ´´½¨ÊµÀý±äÁ¿ OLEstorage stor1

¡¡¡¡È»ºóÈçͼ½¨Á¢´°¿Úw_path£¬ÆäÖÐÊý¾Ý´°¿Ú¿Ø¼þdw_1µÄrowfocuschangedÖеĴúÂëÈçÏ£º

¡¡¡¡long row_num

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡if row_num >0 then

¡¡¡¡ole_1.insertfile(dw_1.object.s_path[row_num])

¡¡¡¡end if

¡¡¡¡ÆäÖÐÊý¾Ý´°¿Údw_1µÄbuttonclickedÖеĴúÂëÈçÏ£º

¡¡¡¡if dwo.name="cbselect" then

¡¡¡¡long row_num

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡string filepath,filename

¡¡¡¡getfileopenname("ÇëÑ¡Ôñ±¸×¢Îļþ",filepath,filename)

¡¡¡¡dw_1.object.s_path[row_num]=filepath

¡¡¡¡ole_1.insertfile(filepath)

¡¡¡¡end if

¡¡¡¡±£´æ´°¿Úw_path

¡¡¡¡6) ½¨Á¢´°¿Úw_dbblob

¡¡¡¡´ò¿ªw_path£¬°ÑÆäÁí´æÎªw_dbblob£¬¸Ä±äÊý¾Ý´°¿Údw_1µÄrowfocuschangedÖеĴúÂëÈçÏ£º

¡¡¡¡blob text1

¡¡¡¡long row_num

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡if row_num>0 then

¡¡¡¡string id

¡¡¡¡id = dw_1.object.id[row_num]

¡¡¡¡sqlca.autocommit=true

¡¡¡¡selectblob pic into :text1 from blobsave where id = :id£»

¡¡¡¡ole_1.objectdata=text1

¡¡¡¡sqlca.autocommit=false

¡¡¡¡end if

¡¡¡¡¸Ä±äÊý¾Ý´°¿Údw_1µÄbuttonclickedÖеĴúÂëÈçÏ£º

¡¡¡¡long row_num

¡¡¡¡if dwo.name="cbselect" then

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡string filepath,filename

¡¡¡¡getfileopenname("ÇëÑ¡Ôñ±¸×¢Îļþ",filepath,filename)

¡¡¡¡dw_1.object.s_path[row_num]=filepath

¡¡¡¡ole_1.insertfile(filepath)

¡¡¡¡end if

¡¡¡¡if dwo.name="cbsave" then

¡¡¡¡string id

¡¡¡¡sqlca.autocommit = true

¡¡¡¡blob text1

¡¡¡¡text1 = ole_1.objectdata

¡¡¡¡dw_1.update()

¡¡¡¡commit£»

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡id=dw_1.object.id[row_num]

¡¡¡¡updateblob blobsave

¡¡¡¡set pic = :text1

¡¡¡¡where id = :id £»

¡¡¡¡commit£»

¡¡¡¡sqlca.autocommit = FALSE

¡¡¡¡dw_1.retrieve()

¡¡¡¡dw_1.scrolltorow(row_num)

¡¡¡¡end if

¡¡¡¡±£´æ´°¿Úw_dbblob

¡¡¡¡7) ½¨Á¢´°¿Úw_OLEblob

¡¡¡¡´ò¿ªw_path£¬°ÑÆäÁí´æÎªw_OLEblob£¬ÔÚ´°¿Úw_OLEblobµÄopenʼþÖÐдÈëÒÔÏ´úÂ룺

¡¡¡¡stor1 = create olestorage

¡¡¡¡stor1.open("c:\p1.ole") //´ò¿ª»ò´´½¨oleÎļþ

¡¡¡¡ÔÚ´°¿Úw_OLEblobµÄcloseʼþÖÐдÈëÒÔÏ´úÂ룺

¡¡¡¡destroy stor1

¡¡¡¡¸Ä±äÊý¾Ý´°¿Údw_1µÄrowfocuschangedÖеĴúÂëÈçÏ£º

¡¡¡¡blob text1

¡¡¡¡long row_num

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡if row_num>0 then

¡¡¡¡string id

¡¡¡¡id = dw_1.object.id[row_num]

¡¡¡¡ole_1.open(stor1,"w"+id)

¡¡¡¡end if

¡¡¡¡¸Ä±äÊý¾Ý´°¿Údw_1µÄbuttonclickedÖеĴúÂëÈçÏ£º

¡¡¡¡long row_num

¡¡¡¡if dwo.name="cbselect" then

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡string filepath,filename

¡¡¡¡getfileopenname("ÇëÑ¡Ôñ±¸×¢Îļþ",filepath,filename)

¡¡¡¡dw_1.object.s_path[row_num]=filepath

¡¡¡¡ole_1.insertfile(filepath)

¡¡¡¡end if

¡¡¡¡if dwo.name="cbsave" then

¡¡¡¡string id

¡¡¡¡row_num=dw_1.getrow()

¡¡¡¡id=dw_1.object.id[row_num]

¡¡¡¡ole_1.saveas(stor1,"w"+id)

¡¡¡¡stor1.save()

¡¡¡¡end if

¡¡¡¡±£´æ´°¿Úw_OLEblob£¬ÔËÐÐÓ¦ÓóÌÐò¼´¿É¡£

¡¡¡¡7¡¢ÈýÖÖ·½·¨µÄÓÅȱµã

¡¡¡¡·½·¨Ò»£ºÎļþ±£´æÔڹ̶¨µÄ·¾¶Ï£¬Êý¾Ý¿âÖдæÈ¡Îļþ·¾¶ºÍÃû³Æ¿ÉÒÔ½ÚÊ¡Êý¾Ý¿Õ¼ä£¬±ÜÃâÁËÊý¾Ý¿â¹ý·ÖÅòÕÍ£¬µ«±¸×¢Îļþ±ØÐëÔÚÒ»¶¨µÄĿ¼Ï£¬²»ÄܶªÊ§£¬ÇÒͬһĿ¼ÏÂÎļþ²»ÄÜÖØÃû£¬¶ÔÎļþµÄ¹ÜÀíÔì³ÉÒ»¶¨µÄÀ§ÄÑ£¬ÁíÍ⣬ÔÚOLE¿Ø¼þÖÐä¯ÀÀÏÔʾ±¸×¢Îļþʱ£¬ÓÉÓÚÿ´Î¶¼Òªµ÷Ó÷þÎñÆ÷³ÌÐò£¬ËùÒÔËٶȽÏÂý¡£

¡¡¡¡·½·¨¶þ£ºÔÚÊý¾Ý¿âÖÐÓÃblobÀàÐÍ»òÕßvarbinaryÀàÐÍ×ֶδ洢±¸×¢Îļþ£¬µ±Îļþ´æ´¢ÔÚÊý¾Ý¿âÖÐÒԺ󣬾ͿÉÒÔɾ³ýÓ²ÅÌÉÏÔ­À´µÄÁÙʱÎļþ£¬²»ÐèÒª¸´ÔӵĶþ½øÖÆÎļþ¹ÜÀí£¬ÇÒÊý¾Ý¿â¿ÉÒÔ´æ´¢ÔÚÍøÂç·þÎñÆ÷ÉÏ£¬¶ÔÊý¾ÝµÄ¹²Ïí·Ç³£·½±ã¡£

¡¡¡¡·½·¨Èý£ºÔÚ±¾µØÓÃOLE´æ´¢½á¹¹´æ´¢±¸×¢Îļþ¡£¿ÉÒÔ°ÑËùÓеĶþ½øÖÆÎļþÐÅÏ¢´æ´¢ÔÚÒ»¸öOLE´æ´¢ÎļþÖУ¬¹ÜÀí±È½Ï·½±ã¡£µ±¶þ½øÖÆÎļþÐÅÏ¢´æ´¢ºó£¬¿ÉÒÔɾ³ýÔ­À´µÄÁÙʱÎļþ£»ÒòΪ´ò¿ª´æ´¢Îļþºó²»ÐèҪÿ´ÎÖ´ÐзþÎñÆ÷³ÌÐòÀ´ÏÔʾ´æ´¢ÐÅÏ¢£¬ËùÒÔ´æÈ¡ËٶȽϿ졣 ˵Ã÷£º±¾ÎÄÔÚPB6.5£¬Sql anywhere Êý¾Ý¿âºÍPB6.5£¬Sql ServerÊý¾Ý¿âÏ£¬windows98£¬windows me£¬NT4.0ƽ̨ÉÏÊÔÑéͨ¹ý¡£

±¾Îı»ä¯ÀÀ´Î

 Ïà¹ØÐÂÎÅ


 Ïà¹ØÆÀÂÛ
 
×îж¯Ì¬

¡¤Èü±´Ë¹Èí¼þÉϺ£Ñз¢ÖÐÐ..
¡¤ASE¼¼Êõ´ðÒÉ(10ÔÂ31ÈÕ)
¡¤iAnywhere¼¼Êõ´ðÒÉ(11Ô..
¡¤IQ¼¼ÊõÔÚÏß´ðÒÉ(11ÔÂ7ÈÕ)
¡¤PowerBuilder 11 Ѳչ
¡¤¡°Òƶ¯PUSH Mail¡±¼¼Êõ..

ÈÈÃÅÌÖÂÛ

¡¤ÓÐÓÃEmbarcadero DBArt..
¡¤sybaseÊý¾Ý¿â¿çÆ½Ì¨ÒÆÖ²..
¡¤¼±£ºsybaseµÄ tempdb¿â..
¡¤sybaseÔõôÔÚÔ­ÓеÄÉ豸..
¡¤ÇósybaseÔÚwin2003ϵÄ..
¡¤ÓйØÐÂÓû§µÄȨÏÞ
¡¤load Êý¾Ý¿âÎÊÌâ
¡¤¹ØÓÚ·Ö²¼Ê½ÏµÍ³Öм¯ÖÐÊý..
¡¤sybase central ³öÏÖµÄ..
¡¤sybase Æô¶¯½Å±¾ÎÊÌâ

×îÐÂÏÂÔØ

¡¤ASE for Linux£¨Ãâ·Ñ£©
¡¤jConnect 5.5 for JDBC
¡¤JBuilder Sybase Edition
¡¤PowerDesigner10¼¼ÊõÎĵµ
¡¤PowerDesigner10 betaÏÂÔØ
¡¤PowerBuilder10 BetaÏÂÔØ
¡¤SQL Anywhere Studio¿ª..


¹ØÓÚÎÒÃÇ | ÁªÏµ·½Ê½ | ¹ã¸æºÏ×÷ | ³ÏƸӢ²Å | ÍøÕ¾µØÍ¼ | Ãâ·Ñ×¢²á

Copyright © 2001-2007 ChinaUnix.net All Rights Reserved

¸ÐлËùÓйØÐĺÍÖ§³Ö¹ýChinaUnixµÄÅóÓÑÃÇ

¾©ICPÖ¤041476ºÅ