以Insert語言為例,很多同學都在這個方面發生了問題,其實主要是因為資料類型和變數在作怪。下面我們就分別講述,雖然說的是Insert語句,但是Select、Update、Delete語句都是一樣的。 假如有 mytable表格,如下:
欄位1 username 字串型(姓名)
欄位2 age 數字型(年齡)
欄位3 birthday 日期型(生日)
欄位4 marry 布爾型(是否結婚,結婚為True,未結婚為False)
欄位5 leixing 字串型(類型)
1.插入字串型
假如要插入一個名為張紅的人,因為是字串,所以Insert語句中名字兩邊要加單撇號,如:
strsql="Insert into mytable(username) values('張紅')";
如果現在姓名是一個變數thename,則寫成
strsql="Insert into mytable(username) values('" +thename + "')";
這裡“Insert into mytable(username) values(' ” 是張紅前面的部分,thename是字串變數,“ ') ”是張紅後面的部分。
將thename變數替換成張紅,再用+將三段串連起來,就變成了
strsql="Insert into mytable(username) values('張紅')";
如果要插入兩個欄位,如姓名為“張紅”,類型為“學生”
strsql="Insert into mytable(username,leixing) values('張紅','學生')"
如果現在姓名是一個變數thename,類型也是一個變數thetype,則寫成:
strsql="Insert into mytable(username,leixing) values('" +thename+"','" +thetype +"')"
和第一個例子一樣,將thename和thetype替換後,再用串連符,就串連成和上面一樣的字串了。
2.插入數字型
假如插入一個年齡為12的記錄,要注意數字不用加單撇號:
strsql="Insert into mytable(age) values(12)";
如果現在年齡是一個變數theage,則為:
strsql="Insert into mytable(age) values(" +theage+ ")";
這裡“Insert into mytable(age) values( ”是12前面的部分,theage是年齡變數,“ ) ”是12後面部分。將theage替換,再用+串連符將三部分串連起來,就變為了和上面一樣的字元。
3.插入日期型
日期型和字串型類似,但是要將單撇號替換為#號。(不過,access資料庫中用單撇號也可以)
strsql=“Insert into mytable(birthday) values(#1980-10-1#)”
如果換成日期變數thedate
strsql=“Insert into mytable(birthday) values(#” +thedate+ “#)”
4.插入布爾型
布爾型和數字型類似:只不過只有兩個值 True和False,如:
strsql="Insert into mytable(marry) values(True)"
如果換成布爾變數themarry
strsql="Insert into mytable(birthday) values(" +themarry+ ")";
5.綜合樣本
插入一個姓名為張紅,年齡為12的記錄
strsql="Insert into mytable(username,age) values('張紅',12)";
仔細注意上式:因為姓名是字串,所以張紅兩邊加了單撇號;年齡是數字,所以沒有加單撇號。
如果換成字串變數thename和數字變數theage,則變為:
strsql=“Insert into mytable(username,age) values('" +thename + "’," +theage + ")";
注意上式,總之,替換變數,再串連後要完成和上邊一樣的字串。
6.小竅門
有一位同學摸索出了一個小竅門,要把下面的語句題換成變數的寫法:
strsql="Insert into mytable(username) values(‘張紅’)"
第一步:先把張紅抹去,在原位置加兩個引號
strsql="Insert into mytable(username) values('" "')";
第二步:在中間添加兩個串連符+
strsql=“Insert into mytable(username) values('" + + "')";
第三步:把變數寫在兩個串連符之間
strsql=“Insert into mytable(username) values('" +thename+ "')”