新增+更新語言一問(SQL語法) |
答題得分者是:yachanga
|
jacosun
一般會員 發表:42 回覆:64 積分:21 註冊:2003-04-18 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
不知道您的UI如何設計....
假設您是用 TEdit 當做input .... procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text:='select * from table where pk='''+edit1.text+'''';
Query1.Open;
if Query1.RecordCount>=0 then
Query2.SQL.Text:='update table set a='''+edit2.Text+''' where pk='''+edit1.Text+'''';
else
Query2.SQL.Text:='insert into table(pk,a) values('''+edit1.Text+''','''+edit2.Text+''')'; Query2.ExecSQL;
end; ~悠遊法國號~
|
jacosun
一般會員 發表:42 回覆:64 積分:21 註冊:2003-04-18 發送簡訊給我 |
引言: 不知道您的UI如何設計.... 假設您是用 TEdit 當做input .... procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close; Query1.SQL.Text:='select * from table where pk=''' edit1.text ''''; Query1.Open; if Query1.RecordCount>=0 then Query2.SQL.Text:='update table set a=''' edit2.Text ''' where pk=''' edit1.Text ''''; else Query2.SQL.Text:='insert into table(pk,a) values(''' edit1.Text ''',''' edit2.Text ''')'; Query2.ExecSQL; end; ~悠遊法國號~對吼....這樣就可以 怪事,我怎麼把這個想的很難的樣子 我還在想說 select跟insert、update要怎麼串聯起來說 哈哈哈 真素一語驚醒夢中人啊 |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
rexchiu
中階會員 發表:14 回覆:88 積分:70 註冊:2002-03-17 發送簡訊給我 |
引言: 不知有無漂亮直接的語法...(全部在 SQL 中解決)有,以MS SQL Server為例,你可以寫寫一些T-SQL declare @count as int,@pkdata as varchar(20),@padata as varchar(20) select @pkdata=:ppk select @padata=:pa select count(*) from table where pk=@pkdata if @count>0 begin update table set a=@padata where pk=@pkdata end else begin insert into table(pk,a) values(@pkdata,@padata) end 將上述的T-SQL statement 放入 query元件的sql中,即可. 例如將上述的statement 存成一個文字檔. 然後 query1.sql.loadfromfile('ccc.txt'); query1.parameters.parambyname('ppk').value=edit1.text; query1.parameters.parambyname('pa').value=edit2.text; query1.execsql. 這樣就可以啦... 嫌 loadfromfile麻煩也可以將上述的statement放在一個隱形的memo中 到時候在 query1.sql:=memo.lines; 就可以.或者自己建立一個TStrings去放也可以. 這是使用ADO元件的時候,使用一般的query元件. 除parameters的部分不一樣,其餘都一樣. Best Regards, Rex Chiu 發表人 - rexchiu 於 2004/04/02 18:07:10
------
Best Regards, Rex Chiu |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |