全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6376
推到 Plurk!
推到 Facebook!

xOperation not allowed on a unidirectional dataset

答題得分者是:kuo348
jackie07
一般會員


發表:13
回覆:28
積分:7
註冊:2002-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-20 13:41:56 IP:61.220.xxx.xxx 未訂閱
請教各位,我使用 mysql SQLConnection SQLQuery1 DataSource DBGrid 我在設定DBGrid的DataSource當指定為DataSource時,會出現 Operation not allowed on a unidirectional dataset! 是不是我少設定什麼了??
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-21 08:06:48 IP:61.224.xxx.xxx 未訂閱
我先聲明,我沒有用過 mySQL,SQLConnection 等元件... 從網路上找到一些與您遇到相同問題的參考資料:    ■ Delphi Programming: Delphi 6 with DBGrid http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20150879.html    以下這一篇俄文的看圖就好像很精彩... 如果能看得到俄文就太好了  href="http://www.hjtek.com:1111/*2429http://www.delphimaster.ru/articles/kylix1/">http://www.hjtek.com:1111/*2429http://www.delphimaster.ru/articles/kylix1/ 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
jackie07
一般會員


發表:13
回覆:28
積分:7
註冊:2002-04-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-23 09:00:53 IP:61.220.xxx.xxx 未訂閱
感謝你的回應~~ 其實一開始我會想選用 mysql SQLConnection SQLQuery1 DataSource DBGrid 是因為網路上有人說 mysql SQLConnection SQLQuery1 在操作上,MYSQL的 反應速度較快,在使用新增資料時,操作上很正常哩! 我後來只是因為要寫報表輸出,才發生上述的問題, 因此最後我採用 當需要新增資料入資料庫時使用 mysql SQLConnection SQLQuery1,而需要進行後端查詢工作時,改用 mysql odbc adoconnection,操作上也沒什麼大問題~~
kuo348
一般會員


發表:2
回覆:11
積分:12
註冊:2002-09-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-23 15:59:50 IP:61.222.xxx.xxx 未訂閱
小弟我也遇過相同的問題,後來看了dllee兄提供之訊息,做了如下的修改就沒有這樣的問題了 使用DataModule,SQLConnection,DataSource,SQLQuery 在元件屬性編輯器中 將SQLQuery的DataSource設為DataSouce DataSouce不做任何設定 於Form1上新增一dbgrid1 dbgrid12的DatsSource設為DataModule->DataSouce; SQLQuery->SQL 敘述略..... 然後執行SQLQuery的Open動作,則可以順利的執行,小弟也是使用mysql+SqlQuery 提供您參考!!
jackie07
一般會員


發表:13
回覆:28
積分:7
註冊:2002-04-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-24 08:16:56 IP:61.220.xxx.xxx 未訂閱
可以了ㄋㄟ~~真是謝謝你~~
kuo348
一般會員


發表:2
回覆:11
積分:12
註冊:2002-09-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-24 13:05:19 IP:61.222.xxx.xxx 未訂閱
jackie07兄: sorry,經過再次測試的結果,如果是使用TSQLQuery是無法與dbgrid作用,如果需在dbgrid顯示資料 則必須使用TSLClientDataSet,經過我查了Help文件後如下 ......前略 You can? use a unidirectional dataset as the source to a data-aware grid.    < >,因為我的資料表是空的所以我以為可以連接了.......真是< >
jackie07
一般會員


發表:13
回覆:28
積分:7
註冊:2002-04-30

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-24 13:28:34 IP:61.220.xxx.xxx 未訂閱
不會吧~~我昨天因為測試了一下,依你的方法,它沒有再出現同 樣的錯誤,我也以為可以了,正想說這幾天再來改程式,換回原來 想用的方式,是否使用TSLClientDataSet可以??那還是一樣要放入 DataModule嗎?抱歉,我因為英文不好,煩請你幫幫我嘍~~
mephise
高階會員


發表:4
回覆:149
積分:205
註冊:2004-02-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2013-07-23 21:26:06 IP:118.168.xxx.xxx 訂閱
我是用 DbExpress 界接 MsSQL, 一開始也是遭遇到與你相同的問題, 你可以試試看我的方法:

DbExpress -> SQLQuery -> DatasetProvider -> ClientDataSet -> DataSource -> DBGrid

SQLQuery : 當然就是你要執行的 SQL 敘述
DatasetProvider : : DataSet 設成你的 SQLQuery1
ClientDataSet : ProviderName 設成你的 DatasetProvider
DataSource : DataSet 指到 ClientDataSet
DbGrid : DataSource 指到你的 DataSource

搞定!
------
Mephise Chen
前興德工程師
系統時間:2024-04-20 16:31:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!