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

ADOQuery元件是否能做到,以下資料庫基本功能?

尚未結案
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-04 16:10:06 IP:61.221.xxx.xxx 未訂閱
先說明一下元件結構如下 Form1視窗 數據庫pm3d←ADOConnection1←ADOQuery1←DataSource1←DBGrid1 數據庫用MS SQL SERVER資料為3萬多筆,由於原先沒有用SQL元件及語法,造成開檔、關檔非常慢,現改用SQL查詢時用DBGrid1重新顯示變得很快,真是太喜歡這個元件了 想請問的是,以上面的結構,是否可以用SQL來達成 . 刪除某一筆記錄 . 新增一筆記錄 . 存值A1 := Edit1.Text 抱歉,SQL新手,看了許多人發言,講到的例子非常複雜,好像沒有人講到「新增/修改/刪除/儲存」SQL基本用法,是否能指導一下? 另外看了許多MS SQL Server 2000的書,請問上面的語法都可以用在ADOQuery1元件上嗎?是否需要修改? 實在太喜歡它的效率了,但又不得其門而入,麻煩各位先見了。
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-04 17:27:39 IP:61.221.xxx.xxx 未訂閱
救命,沒有人可以給我“一點”意見嗎?嗚.嗚.嗚....
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-04 17:39:00 IP:218.16.xxx.xxx 未訂閱
1. 其本上簡單的 ADOQuery 應可和 Table 一樣的 使用 ADOQuery1,Edit; ADOQuery1.Insert; ADOQuery1.Delete; 等等 2. 若你要使用 SQL 來更新 可使用 SQL 的 INSERT / UPDATE / DELETE 語法 由於 SQL 的語法有很多變他不可能在答題詳解請自參看參考書有特定的問題再問。 要記得的是,若你用 INSERT / UPDATE / DELETE 語法,執行時不是用 ADOQuery1.Open; (或 ADOQuery1.Active := true;) 而是要用 ADOQuery1.ExecSQL; 可參看 : 請問Query.open & Query.ExecSQL 的差異 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30474
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-04 17:53:14 IP:61.221.xxx.xxx 未訂閱
請問版主,市面上有那本書,對這方面著墨比較多,是否能介紹一下?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-04 18:15:21 IP:218.16.xxx.xxx 未訂閱
若你是說 ADO 的書,可考慮李維先生的書,不過他的比較深一點但很精很到。 若是SQL 的書,市面上多的是,若你只用 MSSQL 最好買 MSSQL 專用的書。 我沒用 MSSQL 也不知道那本較好。 先給你一些基本語法玩玩罷。這只是其中較基本的還有很多變化你要看看書才成。 Update 基本語法 : ADOQuery1.SQL.Text := 'Update Table1 set Field1=Value1, Field2=Value2, Field3=Value3 where KeyField = KeyValue'; ADOQuery1.ExecSQL; Insert 基本語法 : ADOQuery1.SQL.Text := 'Insert into Table1 (Field1,Field2,Field3) Values (Value1,Value2,Value3)'; ADOQuery1.ExecSQL; Delete 基本語法 : ADOQuery1.SQL.Text := 'Delete from Table1 where KeyField = KeyValue'; ADOQuery1.ExecSQL;
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-04 18:37:01 IP:203.204.xxx.xxx 未訂閱
還是Justmade版主厲害,我才測試了每一種做法準備要將code貼上來,Justmade版主已經答案說出了。 至於MS-SQL的書,我手中有一本我覺得很不錯,一般寫程式會碰到的SQL語法幾乎都有介紹到,不過是7.0版的。 書名:SQL Server 設計實務7.0 作者:施威銘研究室 出版社:旗標    ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-04 18:44:35 IP:61.221.xxx.xxx 未訂閱
我上次就特別去找李維先生的書,不過找到的是Delphi5的書,我記得如果沒記錯,ADO好像是DELPHI 6才出來的,所以就沒有買? 其他DELPHI的書,偏重於元件及BDE但能買的,幾乎被我買光了 從入門到進階Delphi 6程式建構的原理 文魁 Delphi 6 Object Pascal完美經典 金禾 Delphi 6資料庫程式設計 松崗 Delphi 6程式快樂上手 松崗 Delphi 7程式設計徹底研究 文魁 Delphi 7程式設計 高效率資料庫 碁峰 Delphi 6徹底研究 博碩 ................ ................ 太多了,列的好幸苦(可見我是多麼想要把它學好),但對SQL著墨甚少 至於SQL Server買方面 SQL SERVER 2000 中小企業實務寶典 金禾資訊 自學Micorsoft SQL Server 2000 21天課程 博碩文化 所以才會想問說,MS SQL Server的範例是否能用在DELPHI?要如何引用?據然這個工具效率這麼好,為什麼Delphi對這方面著墨的書是如此的少?
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-04 18:47:08 IP:61.221.xxx.xxx 未訂閱
引言: 至於MS-SQL的書,我手中有一本我覺得很不錯,一般寫程式會碰到的SQL語法幾乎都有介紹到,不過是7.0版的。 書名:SQL Server 設計實務7.0 作者:施威銘研究室 出版社:旗標
哈,這一本沒有買,馬上出發去買,謝謝版主們,太好了
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-04 18:52:50 IP:61.221.xxx.xxx 未訂閱
剛剛打電話給書局,只剩下一本 SQL Server 設計實務  作者:施威銘研究室 出版社:旗標    不過是2000的,不知道內容是否一樣?請書局幫我留著,出發了
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-06-05 15:16:04 IP:61.221.xxx.xxx 未訂閱
引言: 先給你一些基本語法玩玩罷。這只是其中較基本的還有很多變化你要看看書才成。 Update 基本語法 : ADOQuery1.SQL.Text := 'Update Table1 set Field1=Value1, Field2=Value2, Field3=Value3 where KeyField = KeyValue'; ADOQuery1.ExecSQL; Insert 基本語法 : ADOQuery1.SQL.Text := 'Insert into Table1 (Field1,Field2,Field3) Values (Value1,Value2,Value3)'; ADOQuery1.ExecSQL; Delete 基本語法 : ADOQuery1.SQL.Text := 'Delete from Table1 where KeyField = KeyValue'; ADOQuery1.ExecSQL;
沒想到真的可以用,真是太勵害了,短短幾行字,解決了! Justmade版主,有沒有想出書啊?我一定是真實的讀者喔
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-05 15:37:07 IP:218.16.xxx.xxx 未訂閱
我沒打算出書,但 tech_state 版主及其他不少台灣的版主有個出書團打算出書,期待罷 :)
jawtair
一般會員


發表:30
回覆:92
積分:24
註冊:2003-04-26

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-05 19:40:21 IP:61.221.xxx.xxx 未訂閱
請問下面的程式是否有問題? 為什麼執行會有錯誤? procedure TForm1.SpeedButton7Click(Sender: TObject); var Emp_No: String; begin Emp_No := DataSource1.DataSet.FieldByName('A0').AsString; if messagedlg('確定要刪除?',mtConfirmation,[mbYes, mbNo], 0) = mrYes then begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text := 'SELECT * FROM pm3d Where (A0 = ' QuotedStr(Emp_No) ')'; ADOQuery1.Delete; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from pm3d'); ADOQuery1.Open; end; end;
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-06-05 19:47:54 IP:218.16.xxx.xxx 未訂閱
新問題請開新題目。
系統時間:2024-07-05 21:42:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!