線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1017
推到 Plurk!
推到 Facebook!

SQL新增語法一問

答題得分者是:mine
jacosun
一般會員


發表:42
回覆:64
積分:21
註冊:2003-04-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-14 14:07:50 IP:61.221.xxx.xxx 未訂閱
ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Insert into BOOK(B001,B002,B003,B004,B005,B006,B007)'); ADOQuery1.SQL.Add('values ("' ADOTable1.Fields[0].AsString '","' ADOTable1.Fields[1].Asstring '","' ADOTable1.Fields[2].Value '","' ADOTable1.Fields[3].AsString '","' ADOTable1.Fields[4].Asstring '","' ADOTable1.Fields[5].Asstring '","' ADOTable1.Fields[6].Asstring '")'); ADOQuery1.ExecSQL; 資料庫為ACCESS 2003。在ADOTable1.Fields[3].AsString 這個值會空白,這個欄位值可有可無,但是會出現 Could not convert variant of type(Null)into type(string)請問我要怎麼改才不會有這個錯誤發生呢?
kerochan
一般會員


發表:9
回覆:6
積分:3
註冊:2005-01-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-14 14:11:54 IP:61.71.xxx.xxx 未訂閱
試試看isNull函數(不確定ACCESS 2003是否有這函數就是了) isNull(ADOTable1.Fields[3].AsString ,'') 會把Null至換成空白
jacosun
一般會員


發表:42
回覆:64
積分:21
註冊:2003-04-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-14 14:22:24 IP:61.221.xxx.xxx 未訂閱
引言: 試試看isNull函數(不確定ACCESS 2003是否有這函數就是了) isNull(ADOTable1.Fields[3].AsString ,'') 會把Null至換成空白
抱歉大大 我還是不會用isnull這個,能否再加強說明一下
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-14 14:35:47 IP:61.221.xxx.xxx 未訂閱
hihi~~ 插花的 是不是在設計資料表的時侯忘了讓資料類型的允許零長度字串為是?? 搞不懂!搞不懂!永遠都搞不懂!!
jacosun
一般會員


發表:42
回覆:64
積分:21
註冊:2003-04-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-14 14:38:21 IP:61.221.xxx.xxx 未訂閱
引言: hihi~~ 插花的 是不是在設計資料表的時侯忘了讓資料類型的允許零長度字串為是?? 搞不懂!搞不懂!永遠都搞不懂!!
在access2003的欄位設定我有設定可允許空白資料了。
lesae
一般會員


發表:1
回覆:11
積分:17
註冊:2003-07-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-14 16:21:04 IP:211.72.xxx.xxx 未訂閱
是不是可以先用ADOTable1.Fields[3].IsNull做判斷如果是null將值取代成空字串在帶入sql字串中insert進去
if ADOTable1.Fields[3].IsNull then begin
  ttStr='';
end;
ADOquery1......
沒有辦法的濫方法 >0<" 人心惟微,道心惟危,惟精唯一,允執厥中。 新手上路,請各位前輩多多指導。 發表人 - lesae 於 2005/02/14 16:43:39
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-14 17:16:11 IP:61.221.xxx.xxx 未訂閱
hihi那試試 VarToStr(ADOTable.Fields[3].AsString)吧~~~ 搞不懂!搞不懂!永遠都搞不懂!!
jacosun
一般會員


發表:42
回覆:64
積分:21
註冊:2003-04-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-02-14 17:27:17 IP:61.221.xxx.xxx 未訂閱
引言: hihi那試試 VarToStr(ADOTable.Fields[3].AsString)吧~~~ 搞不懂!搞不懂!永遠都搞不懂!!
看到大大的這個,突然想到直接把ADOTbale.Fields[3].Value改成ADOTable.Fields[3].AsString就可以了。嘿嘿,真是拍謝,浪費大大們的時間 ^^ 感謝各大大的方法 ^^
系統時間:2024-11-25 9:04:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!