Watch, Follow, &
Connect with Us

Welcome, Guest
Guest Settings
Help

Thread: データベースの書き込みについて



Permlink Replies: 1 - Last Post: Sep 9, 2017 2:01 AM Last Post By: igy kk
松本 泰明

Posts: 1
Registered: 1/3/12
データベースの書き込みについて
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 8, 2017 7:17 PM
はじめましてデータベース学習中の初心者です。
お恥ずかしい質問ですみません。2日も悩んでます。
C++Builder10.1 + Firebird2.5です。

フォームには
FDQuery1
FDConnection1
DataSource1
FDGUIxWaitCursor1
Button1
DBGrid1
があります。

Button1には、下記のコードを記載

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//データベースへの新規登録

try{
//最後
FDQuery1->Append();
//編集可能にする
FDQuery1->Edit();
//
FDQuery1->FieldValues["管理番号"] = FormatDateTime( "yyyymmddhhnnsszzz" ,Now());
FDQuery1->FieldValues["会社名"] = "あいうえお株式会社";
FDQuery1->FieldValues["郵便番号"] = "999-9999";
FDQuery1->FieldValues["住所"] = "";
FDQuery1->FieldValues["部署名"] = "";
FDQuery1->FieldValues["役職名"] = "";
FDQuery1->FieldValues["氏名"] = "";
FDQuery1->FieldValues["電話番号"] = "";
FDQuery1->FieldValues["FAX番号"] = "";
FDQuery1->FieldValues["携帯番号"] = "";
FDQuery1->FieldValues["メールアドレス"] = "";
FDQuery1->FieldValues["URL"] = "";
FDQuery1->Post();
         FDQuery1->ApplyUpdates();

}
catch(Exception &e){
ShowMessage("新規登録に失敗しました。\n"+e.Message);
}
}

です。一応データベースにはデータが更新されています。ここまでは良かったんですが
もう一つC++Buiderを起動して新規に同じものを作成しました。
(理由は、別の開発ソフト(CSVでやり取り→データベース化)に移植するまえに
テスト的に作成しているからです。
そこで、データベースが更新されなかったので別のコード等が悪さしているのでは?
と思い新規で同じものを作成し試しました)

でも、データベースの更新がされませんでした。
最初に作成したものだけ、正常に動いてその後作成したものはDBGrid1に追加されますが
更新されません・・・。
何か問題があるのでしょうか?
igy kk

Posts: 117
Registered: 9/11/03
Re: データベースの書き込みについて
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 9, 2017 1:59 AM   in response to: 松本 泰明 in response to: 松本 泰明
データを追加するのであれば、

FDQuery1->Edit();

は、いらないような気がします。
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02