| ²©¿Í | Linux | ÂÛ̳ | È˲Š| Åàѵ | ֪ʶ¿â | ×ÊÁÏ | ¶ÁÊé | ÊÖ²á | ¾«»ª | ÏÂÔØ | ɳÁú | ËÑË÷ | |
![]() |
| Ê×Ò³ ¡¬ ÐÂÎÅ ¡¬ ASE ¡¬ PB/PD ¡¬ Sybase IQ ¡¬ iAnywhere ¡¬ RS ¡¬ ÂÛ̳ ¡¬ ר¼Ò·Ã̸ ¡¬ ÏÂÔØ ¡¬ SDN×¨Çø |
|
ChinaUnix -> SYBASE¼¼Êõ -> ¼¼ÊõÎÄÕ ->PB/PD -> ÕýÎÄ
ÔÚPBÖÐÓÃOLE´æÈ¡blobÀàÐÍÊý¾Ý
¡¡¡¡Ç°ÑÔ£ºÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾³£ÐèÒªÔÚÊý¾Ý¿âÖд洢һЩ±¸×¢ÐÅÏ¢£¬¶øÕâЩ±¸×¢ÐÅÏ¢µÄÄÚÈÝÒ»°ã½Ï´ó£¬¸ñʽ¶àÑù-ÈçÓпÉÄÜÊÇÓïÒôÎļþ¡¢ÊÓÆµÎļþ¡¢Í¼Æ¬Îļþ¡¢Îı¾ÎļþµÈ£¬ÔõÑùÔÚ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ƽ̨ÉÏÊÔÑéͨ¹ý¡£ ±¾Îı»ä¯ÀÀ´Î
|
| ¹ØÓÚÎÒÃÇ | ÁªÏµ·½Ê½ | ¹ã¸æºÏ×÷ | ³ÏƸӢ²Å | ÍøÕ¾µØÍ¼ | Ãâ·Ñ×¢²á |
Copyright © 2001-2007 ChinaUnix.net All Rights Reserved ¸ÐлËùÓйØÐĺÍÖ§³Ö¹ýChinaUnixµÄÅóÓÑÃÇ |