adoquery insert 问题 |
答題得分者是:Stallion
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
ADOQuery2.Close;
ADOQuery2.SQL.Text:='insert into tb_yp(ID,种类,名称)' ' Values(:ID,:种类,名称)'; ADOQuery2.Parameters.ParamValues['ID']:=strtoint(id); ADOQuery2.Parameters.ParamValues['名称']:=edit1.text; if 条件 then ADOQuery2.Parameters.ParamValues['种类']:=edit2.text; ADOQuery2.execsql; 其中种类一栏设计时为可以允许为空白,是否要加上一句 else ADOQuery2.Parameters.ParamValues['种类']:=' '; 我测试了一下好象不加else也可以,如果参数没有赋值是不是会自动赋予NULL值的?我就是想要NULL值,而不想赋予空字符。
------
我的编程起步于ktop,我将永远支持ktop |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
ADOQuery的Parameters的值會記錄前一次的值
您可在Assign值之前,將所有的Parameters的值先設為Null for I := 0 to ADOQuery2.Parameters.Count-1 do ADOQuery2.Parameters.Items[I].Value := Null; ===================引 用 ntjrr 文 章=================== ADOQuery2.Close; ADOQuery2.SQL.Text:='insert into tb_yp(ID,种类,名称)' ' Values(:ID,:种类,名称)'; ?ADOQuery2.Parameters.ParamValues['ID']:=strtoint(id); ?ADOQuery2.Parameters.ParamValues['名称']:=edit1.text; if 条件 then ?ADOQuery2.Parameters.ParamValues['种类']:=edit2.text; ADOQuery2.execsql; 其中种类一栏设计时为可以允许为空白,是否要加上一句 else ?ADOQuery2.Parameters.ParamValues['种类']:='???? '; 我测试了一下好象不加else也可以,如果参数没有赋值是不是会自动赋予NULL值的?我就是想要NULL值,而不想赋予空字符。
------
~小弟淺見,參考看看~ |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.不知道你是不是用MSSQL?如果是,那麼資料表欄位設定時可以指定預設值為NULL。
2.我覺得你的條件句可以避免以下非一定要給值的設定,就是將IF條件句拉到上方才對。 <textarea cols="60" rows="10" class="delphi" name="code"> if 条件 then begin ADOQuery2.SQL.Text:='insert into tb_yp(ID,种类,名称) Values(:ID,:种类,名称)'; ADOQuery2.Parameters.ParamValues['ID']:=strtoint(id); ADOQuery2.Parameters.ParamValues['种类']:=edit2.text; ADOQuery2.Parameters.ParamValues['名称']:=edit1.text; end else begin ADOQuery2.SQL.Text:='insert into tb_yp(ID,名称) Values(:ID,,名称)'; ADOQuery2.Parameters.ParamValues['ID']:=strtoint(id); ADOQuery2.Parameters.ParamValues['名称']:=edit1.text; end; </textarea> |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |