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

使用TSQLQuery(DBX) 怎麼新增一筆資料??[謝謝]

答題得分者是:GrandRURU
2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-08-12 14:48:31 IP:220.132.xxx.xxx 未訂閱
各位好:
請問一下TSQLQuery(DBX) 怎麼新增一筆資料??

我用 ADOQuery 用以下的方法可以順利新增一筆資料,
ADOQuery1->Append();
ADOQuery1->FieldByName("TestNo" )->AsString = "1";
ADOQuery1->Post();

為什麼用SQLQuery 就會出錯??
SQLQuery1->DataSet->Append();
SQLQuery1->DataSet->FieldByName("TestNo" )->AsString = "1";
SQLQuery1->DataSet->Post();

http://delphi.ktop.com.tw/download/upload/48a131e982948_Read-only.jpg


SQLQuery1有提供Append(); 這方法,那那請問大大這樣怎麼用??
謝謝!!


GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-08-12 15:03:20 IP:203.75.xxx.xxx 未訂閱
因為DBX的元件屬於單向唯讀型資料元件(看到行末的「read-only dataset」了嗎?
所以當然不能用這種作法來新增

你可以使用TSimpleDataSet來實作。
最後要注意的:
請在onAfterPost、onafterdelete、onaftercancel事件中加上commit的語法。

有問題請再提出。

===================引 用 2007 文 章===================
各位好:
請問一下TSQLQuery(DBX) 怎麼新增一筆資料??

我用 ADOQuery 用以下的方法可以順利新增一筆資料,
ADOQuery1->Append();
ADOQuery1->FieldByName("TestNo" )->AsString = "1";
ADOQuery1->Post();

為什麼用SQLQuery 就會出錯??
SQLQuery1->DataSet->Append();
SQLQuery1->DataSet->FieldByName("TestNo" )->AsString = "1";
SQLQuery1->DataSet->Post();

http://delphi.ktop.com.tw/download/upload/48a131e982948_Read-only.jpg


SQLQuery1有提供Append(); 這方法,那那請問大大這樣怎麼用??
謝謝!!

2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-08-12 15:09:59 IP:220.132.xxx.xxx 未訂閱
謝謝你的回應!!

關於你說到的:
你可以使用TSimpleDataSet來實作。
最後要注意的:
請在onAfterPost、onafterdelete、onaftercancel事件中加上commit的語法。


能否提供簡單的 CODE!!
因為第一次使用DBX 的東西
謝謝!!

還有如你所說的"單向唯讀型資料元件",那它提供的 Append(); 及 Post(); 這要怎麼實作??

===================引 用 GrandRURU 文 章===================
因為DBX的元件屬於單向唯讀型資料元件(看到行末的「read-only dataset」了嗎?
所以當然不能用這種作法來新增

你可以使用TSimpleDataSet來實作。
最後要注意的:
請在onAfterPost、onafterdelete、onaftercancel事件中加上commit的語法。

有問題請再提出。

GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-08-12 16:06:37 IP:210.66.xxx.xxx 未訂閱
實做?
就拉元件SimpleDataSet, DataSource, DBNavigator, DBGrid四個元件
然後在simpledataset的onAfterPost事件加上
[code cpp]
SimpleDataSet1.ApplyUpdates(0);

[/code]
就這樣,它是唯一的code

至於「它提供的 Append(); 及 Post(); 這要怎麼實作??」
像ado一樣就直接套用就行了
===================引 用 2007 文 章===================
謝謝你的回應!!

關於你說到的:
你可以使用TSimpleDataSet來實作。
最後要注意的:
請在onAfterPost、onafterdelete、onaftercancel事件中加上commit的語法。


能否提供簡單的 CODE!!
因為第一次使用DBX 的東西
謝謝!!

還有如你所說的"單向唯讀型資料元件",那它提供的 Append(); 及 Post(); 這要怎麼實作??
2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-08-12 16:14:58 IP:220.132.xxx.xxx 未訂閱
不懂大大你的意思耶!!!
至於「它提供的 Append(); 及 Post(); 這要怎麼實作??」
像ado一樣就直接套用就行了

為什麼用SQLQuery 就會出錯??
SQLQuery1->DataSet->Append();
SQLQuery1->DataSet->FieldByName("TestNo" )->AsString = "1";
SQLQuery1->DataSet->Post();

http://delphi.ktop.com.tw/download/upload/48a131e982948_Read-only.jpg



===================引 用 GrandRURU 文 章===================
實做?
就拉元件SimpleDataSet, DataSource, DBNavigator, DBGrid四個元件
然後在simpledataset的onAfterPost事件加上
[code cpp]
SimpleDataSet1.ApplyUpdates(0);

[/code]
就這樣,它是唯一的code

至於「它提供的 Append(); 及 Post(); 這要怎麼實作??」
像ado一樣就直接套用就行了
===================引 用 2007 文 章===================
謝謝你的回應!!

關於你說到的:
你可以使用TSimpleDataSet來實作。
最後要注意的:
請在onAfterPost、onafterdelete、onaftercancel事件中加上commit的語法。


能否提供簡單的 CODE!!
因為第一次使用DBX 的東西
謝謝!!

還有如你所說的"單向唯讀型資料元件",那它提供的 Append(); 及 Post(); 這要怎麼實作??
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-08-12 16:18:10 IP:203.75.xxx.xxx 未訂閱
[code cpp]
SimpleDataSet1->DataSet->Append();
[/code]

其它以此類推
系統時間:2017-10-24 17:36:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!