bcb搜尋access的問題 |
答題得分者是:st33chen
|
superkid07
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2009-08-18 發送簡訊給我 |
小弟是剛學程式的新手
最近被老師要求作bcb連結access 有找過一些書 但是沒有針對bcb的資料庫做很深的介紹 BCB的書也真的不多(而且大部分都是舊書) 最近時間也比較緊迫 近日來這邊找尋文章幾天了 大概知道如何設定元件 但是卻不太了解元件之間的功能區別(像是Adotable跟Adoquery常常一起使用 但卻不知各別功能) 因為小弟也不是科班的 BCB的資料感覺也不大多 所以還是忍不住來發問很基本的問題(很抱歉 來發問很蠢的問題 但是實在是不知怎麼做) 小弟是要用BCB查詢ACCESS資料庫 無須用到新增 刪除功能 純粹將搜尋到的東西顯示在EDIT上 不需特別在BCB內做出報表 EX:資料庫中有姓名與興趣兩項 我在EDIT1中輸入姓名 即可在EDIT2上查詢到相對應的興趣 無需其他功能及報表 看了一些文章 裡面有教設定ADO元件 但是我只知道ADOConnect是作連結 另外有設定3個卻不知道功用 可以不用作報表就能有查詢功能嗎 如果是的話 哪個元件是作報表的(我可以不用他) 此外我大概了解select * ..... 但是前面很多東西都不懂 希望前輩們稍微提示一下 問這些問題真的很抱歉!! |
st33chen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
generally speaking, adotable 是指定一個 table, 然後對整個 table 進行操作, 篩選資料要用 filtered, filterstring 屬性 adoquery 是依需求指定一個篩選資料的 SQL 語句, 然後對篩選出來的資料進行操作. 所以, 當 adoquery 用 select * from tablename 時效果約等於 adotable 指定 tablename 當 adotable 用 filterstring 時效果約等於 adoquery 用 select * from tablename where ... ( 其中 ... 為 filterstring 的內容) 您的例子 : 資料庫中有姓名與興趣兩項 我在EDIT1中輸入姓名 即可在EDIT2上查詢到相對應的興趣 用 adoquery 的方法是 adoquery 的 sql 的 text 設為 'select 興趣 from table名 where 姓名 = ''' edit1->text ''''; 找得到的話( ! adoquery1->eof ) 把值 adoquery->fieldbyname('興趣')->value 放入 edit2->text 中 試著實做一下 ...
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
superkid07
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2009-08-18 發送簡訊給我 |
謝謝你 這樣我大概比較瞭解了 我就有方向可以做下去了
非常謝謝你喔~~ ADOQuery1:cannot perform this operation on a closed dataset; 是什麼東西被關了?
編輯記錄
superkid07 重新編輯於 2009-08-25 12:42:49, 註解 無‧
|
st33chen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
adoquery 的操作順序大約是 adoquery1->close; adoquery1->sql->text = '........................'; adoquery1->open; --- 您的其他動作 --- adoquery1->close; adoquery 要被 open 後才能做操作, 您可能還沒 open ===================引 用 superkid07 文 章=================== 謝謝你 這樣我大概比較瞭解了 我就有方向可以做下去了 非常謝謝你喔~~ ADOQuery1:cannot perform this operation on a closed dataset; 是什麼東西被關了?
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
superkid07
一般會員 ![]() ![]() 發表:2 回覆:3 積分:1 註冊:2009-08-18 發送簡訊給我 |
謝謝
現在程式執行的時候 並沒有出現偵錯 但是點選到要執行搜尋的按鈕 就會出現無法指出的錯誤 " "左邊此符號要包覆的範圍是從select到我指定的東西 然後 edit的text這樣嗎? (我現在只有做edit1的搜尋 還沒做edit2的秀出 因為搜尋會出錯) ADOQuery1->Close(); ADOQuery1->SQL->Text="select id from db1 where ccc=" " Edit2->Text "; ADOQuery1->Open(); id是我設定姓名的欄位 ccc是我設定興趣的欄位 db1是我table的名稱 我有設定一個按鈕去執行 程式可執行 但是會出現錯誤呢(當我按下按鈕才會) 是我包覆錯誤嗎? 不好意思 結案了還是發問了一下><" |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |