學生知識點總結之二

2021-07-16 08:08:49 字數 3595 閱讀 7727

mdiform

窗體是多文件介面(

mdi)的主窗體,同乙個工程中只能有乙個

mdi主窗體。

而把某個窗體的

mdichild

屬性設為

true

,則這個窗體就由乙個普通的

sdi(單文件介面)窗體轉變為乙個

mdi(多文件介面)子窗體。

""之間是乙個字串,"" 和 "" 用& 連線

例如:strsql =" selcet * from sp_table where xm= '  "  & text1.text & " ' "

假如text1.text的值是:李四

那麼應該寫成:

strsql = "select * from sp_where sp_table where xm= ' " 李四 " '"

現在把它分為三部分

"select * from sp_table where xm= ' " 李四

" ' "

李四換成 & text1.text &

簡單地說,雙引號是給vb用的,單引號是給sql語句用的。

a= "b"                                表示a為b

a=" " b " "                          表示a為" b"

a=" " " " & "b" & " ""         表示a為 " b"

a=" ' b ' "                           表示a為 ' b '

a=" ' " & " b "& " ' "           表示a為 ' b '

executesql(sqlquery; fieldseparator;rowseparator )

引數:                                           

sqlquery:查詢資料的sql語句。sql語句中可以使用union和where進行聯合查詢和條件查詢。使用?來進行指定條件查詢的引數。

fieldseparator:字段分隔符。如果返回的結果包含多個字段,則使用這個引數指定乙個字段分隔符。

rowseparator:行分隔符。如果返回結果包含多個行,則使用這個引數指定乙個行分隔符。

arguments:查詢引數。主要是在使用where子句時指定動態引數使用。

返回值型別:字串

解釋:executesql函式不能使用諸如create,update,delete等sql語句對filemaker表結構進行修改。只能進行資料查詢。

像biao$="內容" 、a$= inputbox(" ",biao) 中的$都表示biao、a這兩個變數是字串變數。

其它的變數也一樣,只要在變數名後面加上$,就表示這個變數是字串型別的變數。

在vb中,$有兩種用法:一種是用在dim語句中,如以下兩句是相當的:

dim a$

dim a as string

使用這兩種方法宣告後,a變數就是乙個字串型變數了。以後程式中可以給它賦值,如:a="345",a="asih",a=b(假定b是另乙個字串變數),等等。

第二種用法,是用在變數名後面中使用,表示這個變數是乙個字串變數。

但這種用法要注意:

1、如果已經定義的a不是字串變數(如dim a as integer),當使用a$時會出現變數型別與宣告的型別不同的錯誤提示。

2、如果之前沒有宣告變數型別,而直接使用a$="內容" 並不等於宣告了a的變數型別,也就是說它不能代替dim a as string語句。如果在程式前使用了option explicit語句,假如沒有宣告語句,那麼,不管你在使用變數時是否在後面加了$,都會出現變數沒有宣告的錯誤提示。

3、如果沒有使用option explicit語句,那所有變數都可以不經宣告就可以使用,那樣的話,你可以直接用a="內容" 或a$="內容"來給a賦值,這時a自動成為了字串型變數,加不加$的兩句起到的作用都是一樣的。

通過以上2和3分析,我們會發現其實在程式中變數名後面加$是沒有什麼用處的,加和不加都一樣。那麼為什麼vb有這麼外功能呢?筆者認為這是vb的遺傳問題:

老版本的basic(不是visual basic,是它的老祖宗)沒有宣告變數這一說,只是拿來變數就用,那時規定,數值型變數可以直接用變數名,而字串變數的名字後面必須加上乙個$,以示與數值型的區別,如果不加,就出現錯誤。後來basic公升級為vb,為了使basic編制的程式還能使用,所以vb中還保留了允許在字串變數名字後面加上$的用法,但加與不加已經沒有什麼區別了,這也是現在大多數人都不用了的原因。

call statement

call :呼叫乙個過程或函式,如果該函式有引數則函式名後跟括號,括號裡邊為傳遞的引數。

在visual basic中,驚嘆號「!」與圓點「.」都用於給物件命名,但兩者語法上卻存在很大的區別,這點在程式設計時尤其需要注意。

圓點操作符「.」用來表示物件的屬性和方法,在引用時,需要用到物件的name、圓點和需要的屬性或方法。

.的使用方法有兩種形式: 1、控制項.屬性(後者是前者的屬性)

2、控制項.控制項(前者是後者的容器)

而!僅有一種形式:

控制項!控制項 (前者是後者的容器)

雖然兩者的語法應用結構有較大差異,但兩條語句的效能是相同的,值得注意的是如果你在感嘆號「!」的位置使用「.」可以獲得對窗體上text1特性的直接訪問權,為了進一步增加感性認識,不妨執行下面的例子來試試。

1.建立乙個新專案,並在form1窗體中增加乙個命令控制項。

2.雙擊form1窗體,編輯form load事件並輸入:

form1!command1.caption=」text」

form1.command1.caption=」it works」

3.執行試專案,這時你就會在command1命令框中看到字串it works。

為了在程式中清楚地界定引用的控制項名和該控制項的屬性或方法,增加程式的可讀性,最好使用感嘆號「!」。

dim c as integer

dim d as object

a 等於 empty, 因為尚未初始化的「不定型變數」都等於 empty。但如果檢測 a = "" 或 a = 0, 也都可以得到 true 值。

b 等於 "", 因為尚未初始化的非固定長度「字串」都等於 "" 。 但請注意 b<> null。

c 等於 0, 這個還有問題嗎?

d 等於 nothing, 尚未設定有物件的「物件變數」都等於 nothing, 但請不要使用 d = nothing , 而要使用 d is nothing 來判斷 d 是否等於 nothing, 因為判斷 是否相等的符號是 is 不是 = 。

最令人迷惑的地方是 null 這個保留字, 請看以下語句:

print x = null

print x <> null

結果都是輸出 null(不是 true 也不是 false), 這是因為任何乙個表示式只要含有 null,則該表示式就等於 null, 實際上想要判斷某一資料是否為 null 絕對不能使用:

if x = null then \' 永遠都會得到 null

而要使用:

if isnull(x) then

哪一種資料會等於 null 呢? 除了含有 null 表示式之外, 就屬沒有輸入任何資料的「資料字段」(在資料庫中) 會等於 null。 

學生知識點

1.vb 中 adodb.recordset 和adodb.connection有什麼區別和聯絡 adodb.connection 是連線 adodb.recordset 是記錄集 先開啟連線之後,才能通過語句開啟記錄集。2.split 函式 visual basic 返回乙個從零開始的一維陣列,其...

C 知識點之二

inq 初體驗 linq 全稱為language integrated query 語言繼承查詢 語法 from 變數in 資料來源物件where 條件表示式orderby排序列 ascending descending group 變數by 分組條件into 臨時識別符號select 選擇列 li...

Oracle知識點總結二

二 資料庫名 例項名 服務名與dba管理工具。資料庫名 資料庫名是用於區分乙個資料的內部標識,即是oracle資料庫的內部標記,是以二進位制方式儲存於資料庫控制檔案 不可編輯 中的引數,在引數檔案pfile中也存在db name屬性 可以編輯 作用 資料庫名db name是資料庫的內部管理標記,在安...