很久沒(méi)用過(guò)PB了,網(wǎng)上找了一篇,大致看了一下,應(yīng)該沒(méi)什么問(wèn)題--轉(zhuǎn)自51CTO論壇在PowerBuilder里面操作BLOB數(shù)據(jù)地靈活技術(shù)PowerBuilder提供的BLOB(BinaryLargeObject)數(shù)據(jù)類型可以用來(lái)處理大型數(shù)據(jù),包括圖像、大文本、Word文檔、二進(jìn)制文件和多媒體等各種數(shù)據(jù),它的長(zhǎng)度可以是0~2GB字節(jié),我們利用BLOB類型的變量可以將數(shù)據(jù)傳遞給數(shù)據(jù)庫(kù)以大字段
很久沒(méi)用過(guò)PB了,網(wǎng)上找了一篇,大致看了一下,應(yīng)該沒(méi)什么問(wèn)題
--轉(zhuǎn)自51CTO論壇
在PowerBuilder里面操作BLOB數(shù)據(jù)地靈活技術(shù)
PowerBuilder提供的BLOB(BinaryLargeObject)數(shù)據(jù)類型可以用來(lái)處理大型數(shù)據(jù),包括圖像、大文本、Word文檔、二進(jìn)制文件和多媒體等各種數(shù)據(jù),它的長(zhǎng)度可以是0~2GB字節(jié),我們利用BLOB類型的變量可以將數(shù)據(jù)傳遞給數(shù)據(jù)庫(kù)以大字段方式存儲(chǔ)。但是用通常的數(shù)據(jù)窗口技術(shù)無(wú)法將BLOB類型數(shù)據(jù)加入到數(shù)據(jù)庫(kù)中,也不能將數(shù)據(jù)庫(kù)中相應(yīng)字段的數(shù)據(jù)提取出來(lái),即使在程序中直接使用UPDATE和SELECT等SQL語(yǔ)句也是無(wú)法對(duì)BLOB類型數(shù)據(jù)進(jìn)行操作的。下面筆者將介紹在PowerBuilder7.0中操作BLOB類型數(shù)據(jù)的技巧。
程序設(shè)計(jì)原理
在PB中實(shí)現(xiàn)BLOB類型數(shù)據(jù)的入庫(kù)和查詢,主要要用到兩條特殊的SQL命令——UPDATEBLOB和SELECTBLOB,首先定位要進(jìn)行操作的記錄,然后使用UPDATEBLOB命令就可以將BLOB類型變量中存放的數(shù)據(jù)傳遞給數(shù)據(jù)庫(kù),而使用SELECTBLOB則是將指定記錄中的大字段數(shù)據(jù)傳遞給BLOB變量。
使用BLOB類型變量獲取外界文件的數(shù)據(jù)內(nèi)容,還必須借助于PB提供的可視化OLE控制對(duì)象,通過(guò)它可以將指定的文件內(nèi)容顯示成相應(yīng)的對(duì)象(如BMP圖片),雙擊它就可以激活相應(yīng)的OLE服務(wù)器應(yīng)用程序,來(lái)編輯修改對(duì)象的內(nèi)容,同時(shí)也可以讀取對(duì)象的數(shù)據(jù)內(nèi)容(利用OLE控件的ObjectData屬性),給BLOB類型變量賦值。
下面結(jié)合一個(gè)簡(jiǎn)單的程序?qū)嵗?,講述如何處理BLOB數(shù)據(jù)類型。在這個(gè)例子中,BMP圖片將作為一個(gè)大字段存儲(chǔ)在數(shù)據(jù)庫(kù)中。我們選擇MicrosoftAccess2000作為后臺(tái)數(shù)據(jù)庫(kù),它的字段類型中包含“OLE對(duì)象”類型(如果選擇MSSQLServer作為數(shù)據(jù)庫(kù)服務(wù)器,可以使用TEXT或IMAGE類型字段存放大字段數(shù)據(jù)),這樣就為管理多媒體數(shù)據(jù)、大文件和圖片提供了支持。
操作BLOB字段的實(shí)現(xiàn)過(guò)程
我們?cè)贏ccess中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)文件,文件名是bmp.mdb,在其中定義BMP圖片數(shù)據(jù)表bmptable如下:
各字段的其它設(shè)置(如字段寬度等),均采用缺省形式即可。
編程前還需要做的一步準(zhǔn)備工作是在操作系統(tǒng)的ODBC配置中建立指向bmp.mdb數(shù)據(jù)庫(kù)的連接,名稱定為bmptable。
下面的程序片段實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的連接,圖片的插入、更新、刪除和查詢。考慮文章的篇幅,本文只列出與主題相關(guān)的程序源碼。
1.連接Access數(shù)據(jù)庫(kù)
SQLCA.DBMS="ODBC"
//SQLCA為全局transaction事務(wù)變量
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=bmptable;UID=WD='"
CONNECTUSINGSQLCA;
IfSQLCA.SQLCode<>0Then
MessageBox("數(shù)據(jù)庫(kù)錯(cuò)誤","連接失敗!")
Haltclose;
EndIf
2.將BMP圖片存入數(shù)據(jù)庫(kù)
integerbmpno,icount
//變量bmpno存放給定的圖片編號(hào)
stringfilepath,filename
blobblb_tmp
//…此處對(duì)圖片編號(hào)bmpno賦值,例如bmpno=101;可以通過(guò)程序?qū)崿F(xiàn)為彈出對(duì)話框窗口提供一個(gè)圖片編號(hào)
//查詢指定的圖片編號(hào)是否已經(jīng)存在
icount=0
SELECTCOUNT()INTO:icount
FROMbmptable
WHEREbmptable.bmpno=:bmpno
USINGSQLCA;//:bmpno為給定的圖片編號(hào)
ificount>0then
MessageBox("查詢結(jié)果",string(bmpno)+"號(hào)圖片已經(jīng)存在,請(qǐng)輸入一個(gè)新的圖片編號(hào)")
return
endif
//在OLE控制對(duì)象ole_1中插入BMP圖片文件
GetFileOpenName("請(qǐng)選擇一個(gè)需要插入的BMP圖片文件",filepath,filename,"BMP","BMP圖片文件(.BMP),.BMP")
IfLen(filepath)=0Then
Return
EndIf
Ifole_1.InsertFile(filepath)<>0Then//OLE錯(cuò)誤
Return
EndIf
//新圖片入庫(kù)
stringsql
sql="INSERTINTObmptable(bmpno,bmpdata,bmpname)&&
VALUES("&&
+string(bmpno)+",'','"&&
+filename+"')"
EXECUTEIMMEDIATE:sql;
IfSQLCA.SQLDBCode=0Then
COMMITUSINGSQLCA;
//提交事務(wù)
Else
MessageBox("數(shù)據(jù)庫(kù)錯(cuò)誤","插入失敗")
ROLLBACKUSINGSQLCA;
//事務(wù)回滾
Return
EndIf
Blb_tmp=ole_1.ObjectData
UPDATEBLOBbmptableSETbmpdata=:blb_tmp
WHEREbmptable.bmpno=:bmpno
USINGSQLCA;//更新存放圖片的字段
IfSQLCA.SQLDBCode=0Then
COMMITUSINGSQLCA;
//提交事務(wù)
MessageBox("插入成功","圖片入庫(kù)成功")
Else
MessageBox("數(shù)據(jù)庫(kù)錯(cuò)誤","更新圖片失敗")
ROLLBACKUSINGSQLCA;
//事務(wù)回滾
Return
EndIf
3.從數(shù)據(jù)庫(kù)中刪除BMP圖片
UPDATEbmptableSETbmpdata=''
WHEREbmptable.bmpno=:bmpno
USINGSQLCA;
//bmpno為要?jiǎng)h除的圖片編號(hào)
IfSQLCA.SQLDBCode=0Then
COMMITUSINGSQLCA;
//提交事務(wù)
Else
MessageBox("數(shù)據(jù)庫(kù)錯(cuò)誤","更新失敗")
ROLLBACKUSINGSQLCA;
//事務(wù)回滾
Return
EndIf
DELETEFROMbmptable
WHEREbmptable.bmpno=:bmpno
USINGSQLCA;
IfSQLCA.SQLDBCode=0Then
COMMITUSINGSQLCA;
//提交事務(wù)
MessageBox("刪除成功","圖片刪除成功")
Else
MessageBox("數(shù)據(jù)庫(kù)錯(cuò)誤","刪除失敗")
ROLLBACKUSINGSQLCA;
//事務(wù)回滾
Return
EndIf
4.按圖片編號(hào)查詢圖片信息
//需要提供一個(gè)圖片編號(hào)存放在變量bmpno中
SetNull(blb_tmp)
SELECTBLOBbmptable.bmpdataINTO:blb_tmp
FROMbmptable
WHEREbmptable.bmpno=:bmpno
USINGSQLCA;
IfNotIsNull(blb_tmp)Then
ole_1.ObjectData=blb_tmp
//雙擊OLE控制喚醒OLE服務(wù)器即可編輯圖片
EndIf
使用PB編程時(shí),每次對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作后要注意檢查返回結(jié)果,以保證程序的可靠性。以上程序只是對(duì)操作BLOB數(shù)據(jù)類型的關(guān)鍵技術(shù)進(jìn)行探討,通過(guò)畫板設(shè)計(jì)相應(yīng)的用戶界面,即可形成一個(gè)完整的基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用程序。
解決word文件都變成了白色的圖標(biāo)的步驟如下:
1.首先嘗試最簡(jiǎn)單的方法操作看看,登錄到系統(tǒng)桌面,右鍵桌面空白處點(diǎn)擊打開(kāi)“個(gè)性化”設(shè)置窗口。
2.在打開(kāi)的個(gè)性化設(shè)置窗口中為系統(tǒng)更換一個(gè)主題即可。
3.如果以上的方法還是無(wú)法解決問(wèn)題,下面就一起來(lái)看看其他的解決方法。首先右鍵桌面新建一個(gè)TXT文檔,然后在文檔中輸入以下代碼。@echoofftaskkill/f/imexplorer.exeCD/d%userprofile%\AppData\LocalDELIconCache.db/astartexplorer.exeecho執(zhí)行完成。
4.完成之后將文檔另存為文件名為“修復(fù)白圖標(biāo).bat”,然后保存類型為“所有文件”,點(diǎn)擊“保存(S)”將其保存到桌面就行了。這樣就解決了word文件都變成了白色圖標(biāo)的問(wèn)題了。
單元格格式設(shè)置、數(shù)據(jù)輸入、公式函數(shù)等都是基礎(chǔ),樓主有心學(xué)習(xí)的話可以去買本書學(xué)習(xí)吧,也參考教程
Excel表格列寬怎么設(shè)置
首先選中一列單元格,鼠標(biāo)右擊,選擇列寬,在對(duì)話框中填入需要的字符大小即可完成。
1.選中一列單元格
首先選中一列單元格。
2.選擇列寬
鼠標(biāo)右擊選擇列寬選項(xiàng)。
3.選擇確定
在出現(xiàn)的對(duì)話框中,輸入字符大小,選擇確定選項(xiàng)。
1.
新建Excel,比如放在桌面上,命名為《excel顯示不同的單元格格式太多怎么辦》
2.
雙擊打開(kāi),幾個(gè)單元格里輸入的不同格式的文字
3.
選中要統(tǒng)一成的那種格式的所在的單元格,比如“1”所在的單元格
4.
點(diǎn)擊左上方“格式刷按鈕”
5.
用左鍵,從左到右拖動(dòng)從“1”到“怎么辦”的一行單元格,格式就完成了統(tǒng)一成一致的
6.
鍵盤上一起點(diǎn)擊“Ctrl+A”,全選整個(gè)excel頁(yè)面
7.
點(diǎn)擊“字體”下的小三角符號(hào),點(diǎn)擊“對(duì)齊”的對(duì)話框,設(shè)置成統(tǒng)一的格式即可。
首先,打開(kāi)excel表格。找到我們需要隱藏的0值
在這里我給大家標(biāo)準(zhǔn)出需要隱藏的0值所在區(qū)域
點(diǎn)擊excel表格中,左上角有個(gè)“文件”按鈕
在彈出的窗口中,點(diǎn)擊“選項(xiàng)”按鈕。然后在點(diǎn)擊“高級(jí)”按鈕。
滑動(dòng)鼠標(biāo),或是進(jìn)行選項(xiàng)下拉,找到“在具有0值的單元格顯示0”在前面選項(xiàng)中把對(duì)勾去掉。
去掉對(duì)勾以后,點(diǎn)擊“保存”。然后就可以看到自己的文檔發(fā)生變化了。
原因:開(kāi)啟了兩個(gè)excel的表格進(jìn)程,導(dǎo)致選擇性粘貼失敗。處理方法:
1、使用快捷鍵Ctrl+Alt+delete,打開(kāi)任務(wù)管理器。
2、點(diǎn)擊進(jìn)程選項(xiàng),找到excel進(jìn)程。
3、鼠標(biāo)點(diǎn)擊右鍵,選擇結(jié)束進(jìn)程。
4、或者選中需要結(jié)束進(jìn)程的條目,直接點(diǎn)擊結(jié)束進(jìn)程。
5、再重新在同一個(gè)進(jìn)程下打開(kāi)另外一個(gè)表格進(jìn)行選擇性粘貼就正常顯示了
聲明: 本站一切資源均搜集于互聯(lián)網(wǎng)及網(wǎng)友分享,如果侵犯到你的權(quán)益,及時(shí)聯(lián)系我們刪除該資源
本文分類:本地推廣
瀏覽次數(shù):582次瀏覽
發(fā)布日期:2023-02-28 11:10:18