掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBGridに表示したデータをTableに登録/更新するには? (ID:5860)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
更新するのが1テーブルだけなら、Tableコンポーネントを使って UpdateSQLなしで行きましょう。そのほうが簡単です。 1レコード毎の更新ならTableコンポーネント使うオーバーヘッドは無視できます。 1. Tableコンポーネントを配置して、IndexNameをIDに設定する。 DataSourceコンポーネントを配置しTableとリンクさせる。 Name,Address,Tel等を編集するDBEdit,DBMemoを配置し、 DataSourceとリンクし、各フィールドをリンクさせる。 2. 現状で各項目に転記しているタイミングで、 Table.Locateメソッドで検索し、 レコードが無ければAppend、レコードがあればEditメソッドを実行。 ↓ 各編集コンポーネントへはレコードの値が勝手に入ります。 3. 入力項目のチェックは、編集コンポーネントのTextプロパティではなく、 TableコンポーネントのFieldByName('項目名').As・・・(Integer/String) でチェック。 例えば with Table.FieldByName('ADDRESS') do begin if AsString = EmptyStr then begin MessageDlg('住所を入力してください。'); FocusControl; //該当する編集コンポーネントに勝手にフォーカスが行きます Exit; end; end; 4. チェックが終わったら、Table.Postで登録されます。 UpdateとInsertを使い分ける必要はありません。 大まかにはこういう流れで良いですか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.