問題タブ [data-aware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - ItemIndexを使用するTDBComboBoxに相当するものはありますか?
TDBComboBoxのヘルプファイルエントリには、選択したオプションのテキストがフィールドの新しい値になることが示されています。テキストの代わりにItemIndexを使用する同様のコントロールはありますか?(たとえば、列挙型を表すため。)
delphi - ItemIndex を使用するデータ対応のラジオ グループ コンポーネントは存在しますか?
フォームの 1 つのいくつかのコンポーネントをデータ対応バージョンに置き換えていますが、新しい TDBRadioGroup が割り当てられた数値フィールドとリンクしていないことに少し驚きました。ItemIndex プロパティを使用する代わりに、TDBRadioGroup の「値」が TStrings に格納され、手動で設定する必要があることがわかりました。場合によってはそれが役立つことは理解できますが、数値フィールドにリンクされているだけの場合は、次のようにする必要があります。
ちょっとやり過ぎです。値パラメーターに ItemIndex を使用するデータ対応のラジオ グループ コンポーネントを知っている人はいますか?
vb6 - データベース対応クラスを使用していますか?
私はVB6を使用しています。
データベース対応クラスとは、DataBindingBehavior または DataSourceBehavior プロパティが設定されているクラスを指します。
私は MSDN からこの概念を学びましたが、通常、このデータ認識クラスの手法をいつ使用する必要があるのか疑問に思っています。それとも、ほとんどの開発者に無視されている Data Environment Designer のようなものでしょうか?
database - トランザクションとデータベース対応コンポーネントを使用してDelphiデータベースアプリを作成するための好ましい方法
トランザクションとデータベース対応コンポーネントを使用してDelphiデータベースアプリケーションを作成するための好ましい方法は何ですか?
InnoDBテーブルにアクセスするクライアントアプリを作成し、トランザクション内でマスター/詳細のようなことを行う必要があります。(一般的な観点から)トランザクションに関する調査を行った後、データを認識しないコンポーネントと手動でコーディングされたSQLがトランザクションの「完全一致」であると謙虚に結論付けました。しかし、データベース対応コンポーネントはそうではありません。彼らはお互いのために作られているようには見えません。
トランザクションを使用する必要が本当にありますが、一方で、データ対応コンポーネントは非常に単純化されているため、単に破棄することはできませんでした。
誰かが私を教えてくれませんか?私はそれをグーグルで検索してきましたが、有用な答えは見つかりませんでした。おそらく私の英語が十分ではなく、キーワードが限られているためです。
ところで、私はDelphi 7を使用しており、現在、データアクセスライブラリとしてUniDACを評価しています。
ありがとうございました。
編集
私の質問の側面を説明する例:
2つのDBGridが含まれるフォームを想像してみてください。最初のグリッドはMasterGridで、その上に[追加]、[編集]、[削除]のボタンがあります。2番目のグリッドはDetailGridです。ユーザーが[追加]をクリックすると、次のようになります。
- Connection.StartTransaction
- Master.Append、Master.Post、Master.Editの順に(マスターデータセットに自動インクリメントの主キーがあり、編集可能になりました)
- ユーザーがマスターレコードに入力する編集フォームをモーダルに表示し、別のフォームを使用して詳細レコードを追加します。
- ユーザーが[OK]をクリックすると、アプリはMaster.PostとConnection.Commitを実行します。ユーザーが[キャンセル]をクリックすると、アプリはConnection.Rollbackを実行します。
トランザクションはできるだけ短くする必要があることは知っていますが、トランザクションはユーザーがフォームに入力する速度と同じくらい短いことがわかります。
データ非対応のコンポーネントを使用している場合は、ユーザー入力に基づいてカスタム挿入SQLを作成し、StartTransactionとCommitの間でSQLを実行します。だから私は非常に短いトランザクションを達成することができます。
編集2
皆様のご参加に感謝申し上げます。それが私の現在のニーズに最も近い解決策であるため、私はvcldeveloperから答えを選びます。
delphi - db テーブルに直接アクセスするデータ認識コントロールとデータ モジュールを含む Delphi リファクタリングの例
私が取り組んでいるプロジェクトをリファクタリングする最善の方法を定義しようとしています。
優れた設計が不足しているため、ほとんどすべてのプロジェクトは次のもので構成されています。
1) ビジネスロジックを含むフォーム
2) 巨大なデータモジュール (フォームごとに 1 つ + 余分なもの)
3) 共通コード (ライブラリ) を含む一部のユニット
OOP はありません (いくつかの小さな領域を除いて)。コードの再利用は最小限のレベルです。
1 つの問題は、データベース対応コントロールが使用されていることです。そのため、データモジュールに多くのデータセットとデータソースをドロップし、高度に結合された方法で DB に直接リンクするのは非常に簡単でした。
理想的には、Tcustomer、Temployeeのようなクラスを抽出して、OSのカプセル化をアドバンテージし、すべてのコードを複製せずに将来新しいUIを作成できるようにしたいと思います。
とにかく私の質問は次のとおりです。どうすればデータベース対応コントロールを扱い続けることができますか? データセットを返す関数を実装し、dataawarecomponent.datasource を関数の結果にリンクする必要がありますか?
?
delphi - コードを記述せずに(Delphiのように)Qtでデータベース接続を設定できますか?
PascalよりもC++で書くのは比較的難しいですが、私はQtのマルチプラットフォームサポートに本当に惹かれています。LinuxからWin2003サーバーで実行されているMSSQLサーバーに接続することも、Linuxで実行されているPostGreSQLサーバーに接続することもできます。Delphiと比較すると、これはプラスになりました。
QtとC++に慣れるためのサンプルプログラムを書こうとしています。これまでのところ、レイアウトとシグナルとスロットのメカニズムに慣れています(ただし、ボタンをダブルクリックしてイベントコードを記述します:))。プログラムでSQLデータをDelphiと同じくらい簡単に使用できたらいいのにと思います。
接続オブジェクト、データソース、DBGrid、DBNavigatorをフォームに配置して、コードを記述せずに続行する方法はありますか?(一部のフォームでは、実際に時間の節約になります。300以上のフォームを含むプロジェクトをより高速に作成できます)
SQLサーバーからのデータでQtを使用している人々から話を聞きたいです。
delphi - レコードが TDataSet に挿入されたことを確認するにはどうすればよいですか?
TDataSet または TObjectList の内容を表示するグリッド コントロールを作成しています。TDataSet のみをサポートする必要がある場合、物事は非常に単純です。
- TDataLink の子孫を介してデータセットにリンクします。
- グリッドのコンテンツを描画する場合、その TDataLink にバッファリングされたレコードを使用して、必要なものを描画できます。
- TDataSet 内の行を表すために個別のオブジェクトをどこかに置く必要はありません。これは、常にバッファ内の行を描画するだけだからです。
私の場合、他のいくつかのソースからもデータを受け入れる必要があります。つまり、各行を表すオブジェクトが必要でした (これも、コントロールにかなりの数の行の状態が必要だったためです)。
しかし、これは上記のモデルで問題を引き起こします。各行を表すオブジェクトがあるため、TDataSet でレコードが追加または削除されたときに通知を受ける必要があります。そして、私はそれを行う方法がわかりません。
明らかに、データセット イベントにフックしたくありません。それらは既に使用されている可能性があり、TDataLink はコントロールとデータセットの間のメディエーターになることを意図しています。また、DataEvent 仮想メソッドを使用しようとしても失敗しました。レコードが追加/削除されているかどうかがわからないためです。
何か案は?
oracle - Delphiデータベース対応コンポーネントの使用-長所と短所
プロジェクトでのデータベース対応コンポーネントの使用についてのご意見をお聞かせください。Delphiおよびデータベース対応コンポーネント(Delphiの標準スイートまたはサードパーティ製)を使用して、アプリケーション(win32およびweb)を開発する際の「長所」と「短所」はどれですか。
FireBirdを使用して、成熟したコンポーネントのスイートであり、非常にうまく機能するIBObjectsを使用して多くの作業を行いました。
しかし、他にも多くのRDBMS(MySQL、MSSQL、DB2、Oracle、SQLite、Nexus、Paradox、Interbase、FireBirdなど)があります。多くのデータ対応コンポーネントを使用した大規模なプロジェクトを開発した場合は、データベースタイプとデータベース対応コンポーネントスイート名で回答してください。
DB2(AS400)にも興味があります。どのコンポーネントを使用して成功しましたか、またはどのコンポーネントを使用するのが本当に面倒ですか?
javascript - Delphi 7-TMSIntrawebDB対応グリッド
イントラネット用のDelphi7とTMSスイートを使用してWebアプリケーションを作成しています。いくつかのクライアントデータセットコンポーネントがあり、データを表示するためにTTIWDBAdvWebGridを使用しています。TTIWDBAdvWebGridはデータベース対応コンポーネントですが、グリッド内の一部の値を変更すると、データは永続的ではありません(セルイベントでは、セルの値は古いものであり、私が設定した値ではありません)。
何か案は?