小問題 大知識

2021-06-09 23:42:25 字數 2035 閱讀 2779

十一假期以來可以說大部分時間用在系統上,開始不想開始的原因就是怕遇到問題,現在遇到問題了,卻是不想放棄,總是有種必須把問題解決的小心理!

雖然沒有什麼大的問題,但是小問題還是不斷地,遇到問題就是知識積累的過程!下面是一些小問題的總結:

一、在mdi窗體無法新增控制項,

這樣就要利用picture控制項作為容器來容納其他控制項,但是picture會影響子窗體的顯示,這樣需要用api函式來顯示:

private declare function setparent lib "user32" (byval hwndchild as long, byval hwndnewparent as long) as long

setparent form1.hwnd, mdiform1.hwnd

二、資料庫沒有辦法更新,**調了一天沒有發現錯誤,但是依舊沒辦法更新

with objrs                  

.addnew

.fields(0) = txtcardid.text

.fields(1) = txtstuno.text

.fields(2) = txtstuname.text

.update

end with

這樣寫資料庫總是無法更新,後來將update改為updatebatch,其實這兩個可以混用的但是他們的區別就是update只更新儲存當前記錄,updatebatch方法可以成批地更新儲存多個記錄

三、關於時間的計算和比較日期的大小

時間的計算要用到乙個函式datediff,

datediff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

其中比較日期的大小為:

date1 = "2010-10-10 "

date2 = "2011-2-3"

if datediff("d", cdate(date1), cdate(date2)) < 0 then

msgbox date1 & "大"

else

msgbox date2 & "大"

end if

比較資料庫中的日期,分為兩種如果表line中date的資料為日期型:則

select * from t where date >= '2009-08-31' and  col1 <= '2009-09-07'
如果為非日期型則

select * from t where cast(col1 as datetime) >= '2009-08-31' and cast(col1 as datetime) <= '2009-09-07'
四、獲取計算機名

其實上網搜了一下獲得計算機名的方法有很多,這裡有乙個我覺得比較簡便的時要用到api函式getcomputername

private declare function getcomputername lib "kernel32" alias "getcomputernamea" (byval lpbuffer as string, nsize as long) as long
實現就算計名的獲得:

dim computername as string, i as long 

i = 255

computername = string(i, 0)

getcomputername computername, i

computername = left(computername, i)

其實這些都是在敲**的時候遇到問題的部分,雖然不是什麼知識點,但是感覺還不錯,這是這樣不斷地積累,小菜鳥才可以編成大

小問題大思考之C 臨時物件

c 中有這樣一種物件 它在 中看不到,但是確實存在。它就是臨時物件 由編譯器定義的乙個沒有命名的非堆物件 non heap object 為什麼研究臨時物件?主要是為了提高程式的效能以及效率,因為臨時物件的構造與析構對系統效能而言絕不是微小的影響,所以我們應該去了解它們,知道它們如何造成,從而盡可能...

小問題,大問題?

有一天美國通用汽車公司的龐帝雅克 pontiac 部門收到一封客戶抱怨信,上面是這樣寫的 這是我為了同一件事第二次寫信給你,我不會怪你們為什麼沒有回信給我,因為我也覺得這樣別人會認為我瘋了,但這的確是乙個事實。我們家有乙個傳統的習慣,就是我們每天在吃完晚餐後,都會以冰淇淋來當我們的飯後甜點。由於冰淇...

小問題系列

這應該不能算原創吧,只能算整理啊。今天安裝.msi格式的軟體的時候又出現了2502 2503錯誤。2502 下面的程式呼叫了不支援的ms dos函式。2503 工作站無法啟動。不清楚為什麼會這樣,不過解決倒是很簡單的。有兩種解決方法。一 1 用管理員身份執行命令提示符 cmd.exe 2 msiex...