請教關于Query的問題 |
答題得分者是:banson1716
|
rockytian
一般會員 發表:8 回覆:4 積分:2 註冊:2002-11-28 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
zong
初階會員 發表:11 回覆:51 積分:42 註冊:2002-08-18 發送簡訊給我 |
|
rockytian
一般會員 發表:8 回覆:4 積分:2 註冊:2002-11-28 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言: 我想我是沒把問題講清楚,我之前DataSet 是用Table,現在改用Query, Dataset用Table時insert 時在speedbuttonclick處,輸入table1.insert;就完成了一筆資料的輸入了,但是現在用Query1.insert是不行的,會提示出錯,Query在insert ,append ,delete,edit,post,cancel,refresh,的語法我不懂,可否給個案例,謝謝各位大大.那是因為當你用query元件時 除了要把requestlive屬性設為True外 當你要異動資料庫的時候 必須要先改變query的狀態 才能順利異動 例如 : if not (query1.state in [dsinsert]) then //判斷是否在新增狀態 query1.insert ; //如不是 就進入新增狀態 //作新增的動作 query1.post; query1.applyupdates; ps: 修改 同此步驟 天行健 君子當自強不息~~@.@
------
天行健 君子當自強不息~~@.@ |
zong
初階會員 發表:11 回覆:51 積分:42 註冊:2002-08-18 發送簡訊給我 |
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
你說的是Query 中的 SQL 語法不懂如下膚淺的 SQL 參考 ===================== SQL 過濾查詢 =============================== Select * From Table ; //過濾顯示所有資料庫
Select Name, Tel From Table ; //過濾顯示 Name ,Tel 資料
Select * From Table Whrer Name = "張一刀" ; //過濾"張一刀"資料 Select * From Table Whrer Name Like "徐*" ; //過濾特定"徐"的資料
'select * from 程式基本資料 where 程式代號 like "' cPY '%"';//過濾不特定"徐"的資料 ??????
'select * from 程式基本資料 where 陽上姓名 Like "% 楊 %"; Select * From Table Whrer Name Like "*徐*" ; //過濾特定"徐"之中的資料 ===================== SQL 排序查詢 =============================== select * from 全 where 地址 like '%松山區%' and 園名 like '%仁%' Select 欄位1, 欄位2,.... From 資料表名稱 Where 查詢條件;
Select * From Table Order By Age; //以年齡欄位排序 Select 欄位1, 欄位2,.... From 資料表名稱 Order By 欄位1, 欄位2,...Desc;
例 Adoquery1.SQL.Append('select * from ' table ' order by id');// 用 ID 排序
adoquery1.SQL.Append('select * from ' table );// NO 排序 Select * From Table Order By Age Desc; //以年齡欄反排序 ---------------Words 資料庫中過濾 Address欄位和資料排序,無加入 DESC 則為 ASC 升冪
Adoquery1.Active:=false;
Adoquery1.Close;
Adoquery1.SQL.Clear;
SCity:='dieName';
ADOQuery1.SQL.Append('select Address,WORDATE from Words where Address like "' AddressWordsFilter.Edit1.Text '%" ORDER BY Address');
// Adoquery1.ExecSQL; 可不用
Adoquery1.Active:=true;
--------------Words 資料庫中 Address 欄位作資料排序
Adoquery1.Active:=false;
Adoquery1.Close;
Adoquery1.SQL.Clear;
ADOQuery1.SQL.Append('select Address from Words ORDER BY Address');
Adoquery1.Active:=True;
---------------------------
procedure TAddressURLForm.ComboBox1Change(Sender: TObject);
begin
_Filter;//seach
Adoquery1.Active:=false;
Adoquery1.Close;
Adoquery1.SQL.Clear;
ADOQuery1.SQL.Append('select * from Address ORDER BY 網站名稱');
Adoquery1.Active:=True;
end;
===================== SQL 插入 =============================== Insert Into 資料表名稱 Values (欄位1, 欄位2,...);
Insert Into Table Values ("張一刀","037-271135","苗栗市中華路","40"); ===================== SQL 刪除 =============================== Delete * From 資料表名稱 Whrer 條件
Delete * From Table Whrer Name = "張一刀" ; 'DElete from Table where a no= :Namestr'; ===================== SQL 修改 =============================== Update 資料表名稱 Set 資料表名稱 = 要修改的資料...Whrer 條件
Update Table Set Tel = "037-271135",Age = 40 Whrer Name = "張一 "; ===================== SQL 開啟顯示欄位 =======================
Select 欄位1, 欄位2,... From Table ; //顯示資料庫 with ADOQuery1 do begin
with SQL do begin
Clear;
Add('SELECT EmpNo, LastName, FirstName, HireDate');
Add('FROM Employee');
end;
Open;
end; ===================== =======================
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |