問題タブ [fibplus]
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 - jpg画像をデータベースに保存し、FIBplusとTImageを使用してDelphiにロードするにはどうすればよいですか?
jpg画像をデータベースに保存し、FIBplusとTImageを使用してDelphiにロードするにはどうすればよいですか?
delphi - 列ヘッダーをクリックして FIBDataSet で DBAdvGrid を並べ替える
私が見つけた上記の問題に対する唯一の解決策は、「ORDER BY」ステートメントを FIBDataSet の SQL クエリに添付することです。Gridには独自のquicksort()実装があるため、ちょっと奇妙ですが、うまくいきません。どんなアイデアでも大歓迎です。
delphi - IBXpress Interbase 6 アプリを Delphi 7 上の現在の Firebird プラットフォームに移植しますか?
ここで注意すべき落とし穴があるかどうか疑問に思っています. 数年前にクライアント向けに開発した従来の D7 アプリがあり、IBXpress を使用してオープン ソースの Interbase 6 ビルドと通信します。
最近、そのプラットフォームで多くの問題が発生しており (主なハードウェアである新しいハードウェアでの接続/起動が非常に遅い)、クライアントは、データベースを Firebird に移行するのに時間とお金を費やすことに同意しています。
データベース層を IBXpress から Firebird に最適な別のものに移動する必要があるかもしれないと考えているため、D2010 (または、今は D2007 が私の好みです) への移行に着手したくありません。結局のところ、クライアントはデータベースの負担を軽減することだけを考えており、アプリをオーバーホール/アップグレード/書き直すことはありません。
Firebird の祖先を考えると、IBXpress Interbase 6 から Firebird を (何でも) 使用するまでの道のりは、かなり簡単でよく理解されていますか? 既存の IB データベースにはすでにかなりの数の sprocs、トリガー (さらにはデータ型) などがあります (クライアントには、このプラットフォームを使用している多数の有料顧客がいます)。 SQL Express (または完全に別の種類の DB) に移行するよりも移行します。
「組み込み」DB の擁護を求めているわけではないことに注意してください。クライアントの顧客のインストールの多くでは、ソフトウェアはマルチユーザー クライアント サーバー方式で使用されているため、そのようなアプローチを維持することが重要です。
delphi - FibPlus データセットまたは FibQuery を使用して MasterSource および MasterFields 機能を使用する方法
FibPlusコンポーネントを使用してFirebirdを使用するように、既存の BDE データベース プログラムを書き直しています。
ほとんどすべての場所で TQuery コンポーネントを使用していたので、変更はかなり簡単です。
私が見つけられないように見える1つのことを除けば:
- 私のフォームの 1 つで、上下に2 つのグリッドがあり、TTable コンポーネントにリンクされています。下のグリッドには、上部のグリッドで選択されたレコードと同じキーを持つレコードのみが表示されます。つまり、マスター/詳細の関係です。
MasterSource
これは、プロパティとプロパティを使用して BDE で簡単に実行できましたMasterFields
。
FibPlus FibDataset または FibQuery コンポーネントを使用してこれをどのように達成できますか?
delphi - FibPlus の TpFIBQuery コンポーネントを使用して BLOB(Text) フィールドを読み取る方法
Delphi 7とFibPlusコンポーネントを使用しています。それらの 1 つですTpFIBQuery
。
ジェネリックを使用してテーブルからデータをロードしています
返されたフィールドの 1 つはタイプBLOB(Text)
です。
informatie
次の3つの方法のいずれかを使用して、値を文字列リストに取得できないようです。
Database Workbench を使用して、テーブルのフィールドに保存されたテキストが実際に含まれていることを確認しました。
誰 ?
delphi - FIBPlus 用に切り離された TpFIBDataset を持つことは可能ですか?
ADO
for Delphi
( dbGo
) で作業していたとき、切り離されたデータセットを作成する可能性があったことを覚えています。アイデアは、データベースから必要なすべてのデータを読み取り、接続プロパティを nil に設定できるというものでした。これによりTADOQuery
、メモリテーブルとして機能しました。その後、不要な接続やトランザクションを開いたままにしておくことを心配することなくTADOQuery
、パラメーターとして他のメソッドに渡すことができました。TDataSet
FIBPlus ライブラリを使用する場合も同じ機能が必要です。現在、データを他の構造にコピーしてからTpFiBDataset
、データセットを閉じる必要があります。それ以外の場合、データセットの行にアクセスするには、すべてのデータをフェッチしたとしても、トランザクションを開いたままにする必要があります。
自分でデタッチされたデータセット機能を実現できませんでした。これは可能ですか?
delphi - Delphi-DBGridはUTF8計算フィールドを表示しません
TDBGridがTDataSourceにリンクされており、TFibDataSetが背後にあります。データセットのOnCalcFieldsに、文字列「Russisch(русский)」を追加しようとしています。
問題は、グリッドで結果が:Russisch(????????)として表示されることです。
同じ結果になります
FibDataBaseコンポーネントでは、ConnectParams.CharsetがUTF-8に設定されています。また、DBParams値を設定しましたlc_ctype=UTF8
。
私がここで間違っていることは何ですか?
LE:Delphi XE、Firebird、UTF8-これは私の問題を解決しません。
LE1:問題は計算フィールドでのみ発生します。ライブデータ「ロシア語(русский)」が正しく表示されます。
delphi - アプリケーションを FIB+ から Fire-DAC コンポーネントに移行するための実証済み/推奨される方法
Fire-Dac コンポーネントの内部にハードワイヤード FIB+ 接続を持つ大規模なアプリケーション ファミリを移行しています。
まず、バックエンドを切り離して移行し、接続性をニュートラルにし、接続性に依存する部分を取得し、既存のアプリケーションを手動でリファクタリングしました。FireDac のパーツも書いています。
Delphi コードを移行するには問題ないようです...
しかし、お尻の大きな痛みは、設計時にフォームとデータモジュールに配置されたコンポーネントの移行のようです: GExpert をインストールし、そのコマンド Replace Components with defined rules how to map some properties を試しましたが、おそらくコンポーネント間の相互参照が失われました。段階的な置換プロセスでタイプの非互換性が発生しました。
私の現在のアプローチは手作業です。古い FIB+ コンポーネントの名前にサフィックスを追加し、元の名前をコピーして新しい対応する Fire-Dac コンポーネントに貼り付けます。この手順をすべてのコンポーネントに対して繰り返し、プロパティを適切に設定して FIB+ コンポーネントをドロップします。これにより、このプロセス中に古い設定を何度も調べることができます。
誰かがそれをより良くする方法を証明した/推奨する方法を持っていますか?
ありがとうございます
delphi - Delphi - Firebird データ移行 - 異なる文字セット
別の古いデータベースから新しいデータベース (Firebird 2.5 の IBExpert で作成) にデータを移行する必要があります。FIBPlus コンポーネントを使用しています。これで、古い varchar と blob テキストが異なる文字セットと照合 (ほとんどが WIN1252) にあることがわかりました。
DBImport (データを取得するデータベース) には次のプロパティがあります。
DBNew (新しいデータベース) には次のプロパティがあります。
ここでTOndrej が提供する SQL を使用してフィールド定義を取得します
新しいデータベースでは、同じフィールドが UTF8 になりました。
私の質問は、FieldByName ('etc').AsString を使用して古いデータベースから読み取り、ParamByName ('etc').AsString を使用して新しいデータベースを埋める場合、文字列とテキスト blob データが 100% であることです。同じ (DBImport フィールドの文字セットに関係なく)?
delphi - Delphi XE4 でエラーを引き起こす OpenAsClone 関数
私の Delphi XE4 アプリケーションには、次のような 2 つのデータセットがあります。
次のステートメントを実行しようとすると:
最後の行で次のエラーが発生します
Delphi 7 ではすべて正常に動作しています。私の Delphi 7 アプリケーションは Firebird 2.5.1 を使用していますが、Delphi XE4 は 2.5.2 を使用しています。FIBPlus 7.5 を使用しています。