問題タブ [tadoquery]

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.

0 投票する
3 に答える
2596 参照

delphi - TADOQueryフィルターと式は常にtrue

TADOQueryからいくつかのレコードをフィルタリングしようとしています。フィルター処理されたプロパティをtrueに設定し、フィルターをfield ='value'に設定すると、すべて正常に機能します。このフィルターを追加して動的に構築したい

常に真の値になり、1=1でうまくいくと思いました。したがって、デフォルトのフィルターとして1 = 1を使用AND field='value'し、必要に応じて追加します。

ただし、これは機能しません。エラーメッセージは次のとおりです。

引数のタイプが間違っているか、許容範囲外であるか、または互いに競合しています。

このフィルターの用途の広い常に真の表現として何を使用できるか教えていただけますか?

0 投票する
4 に答える
4730 参照

delphi - 独立したクローン TADODataSet を実現するには?

シナリオは次のようになります。

SQL テーブルがあります。このテーブルで SQL クエリを実行しており、TADOQuery オブジェクトに結果が含まれています。

したがって、DataSet のクローンを作成した後、qryClone は独立したデータを保持する必要があります (少なくとも私はそう思いました)。ただし、qryOryginal で削除を実行すると、qryClone でも同じ操作が行われます。私はそれをしたくありません。

何か案は?

おそらく TClientDataSet にデータを保存できることはわかっていますが、最初に上記のソリューションを試してみたいと思います。

お時間をいただきありがとうございます。

0 投票する
2 に答える
1206 参照

xml - Delphi TADOQuery SaveToFile の問題

ユーザーがクエリを作成して実行し、レポートをファイルに保存できるアプリケーションを作成しました。後日ファイルからレポートを読み込んで画面に表示できます。

TADOQuery コンポーネントを使用してクエリを実行し、クエリがデータを返したときに SaveToFile を呼び出します。次に、LoadFromFile を使用してデータを TADOQuery に読み込み、そこからデータを仮想リストビューに読み込むことができます。どちらの場合も、フォーマット パラメータとして「pfXML」を指定しています。

レポートのフィールドの 1 つに、読み取り可能なテキストではなくゴミが表示されるという問題がユーザーから報告されました。調査の結果、その特定のフィールドの xml ドキュメント内のフィールド定義は「dt:type='bin.hex'」と指定されています。このシステムで同じクエリを実行すると、xml ドキュメントのフィールド定義は "dt:type='string'" として指定されます。

私の質問は、なぜ違いがあるのですか?データベースは同一であるのに、ユーザーのシステムではデータが bin.hex として保存され、他のユーザーのシステムでは文字列として保存されるのはなぜですか? さらに重要なこととして、データ型はどのように決定されるのでしょうか? SaveToFile を呼び出すと、TADOQuery コンポーネントはどのようにしてデータ型を認識し、データ型として xml ドキュメントに何を書き込む必要があるのでしょうか?

データが 16 進数形式で PC に送り返されており、TADOQuery コンポーネントがそこからヒントを得ているのか、それとも (何らかの理由で) そのフィールドのデータ型が 16 進数であると認識してデータを変更しているのか合う?

これについてオンラインで何も見つけることができず、何が起こっているのかわかりません。助けていただければ幸いです。

0 投票する
2 に答える
633 参照

delphi - 2TADOQUERYマスターおよび詳細テーブルフィルター挿入

2つのTadoqueryを使用して、Tadoquery(マスター)Tadotable(詳細)のように機能するにはどうすればよいですか?

0 投票する
1 に答える
314 参照

delphi - TADOQuery1 から TADOQuery を更新または挿入する方法はありますか

私は 2 つのクエリの TADOQuery と TADOQuery1 を持っていません。コードを介して TADOQuery1 から TADOQuery レコードを更新したいのですが、可能ですか?? 彼らは同じフィールドを持っています

ありがとうございます

0 投票する
2 に答える
1312 参照

delphi - TADOQuery と TADOTable で NOLOCK をどのように使用しますか?

SQL テキスト "SELECT * FROM TABLE1 WITH (NOLOCK)" があります。

2 つの質問:

  1. SQL テキストに NOLOCK ヒントを含めずに、TADOQuery で NOLOCK ヒントを使用するにはどうすればよいですか? SQL を動的に構築した文字通り何千もの TADOQuery がありますが、MSSQL 以外のデータベース プラットフォームで使用することは言うまでもなく、それらすべてに WITH (NOLOCK) を追加することは困難です。TADOQuery プロパティはありますか?

  2. TADOTable で同じことを達成するにはどうすればよいですか? TADOTable には SQL がないので、NOLOCK ヒントを使用するように指示するにはどうすればよいでしょうか?

ありがとう

0 投票する
2 に答える
1159 参照

delphi - onNewRecord の別のテーブルに挿入する

OnNewRecord イベントを持つ ADOQuery を取得しました。

手順で、データを自動的に別のテーブルに追加しようとします。データは、取り消された場合に必要とされ、clientDataSet で処理されるいくつかの行です。

ロケで

その他のAdoQuery.insert;

ADOQuery が null 以外のフィールドに null を挿入できなかったというエラーが表示されます。私は挿入モードですが、DELPHI に投稿を依頼したことはありません。投稿する理由がわかりません。

編集: この問題のヒントを見つけるのを手伝ってくれませんか?

もう少し明確にします:

ADOQuery.onNewRecord();

始める

ClientDataSet.insert; //ADOQueryPost の投稿に移動します。ClientDataSet がブラウズ状態だった場所

終わり;

編集:

このバグは意味がありません! スタック トレースを見てください。

  • 前投稿
  • 新記録
  • myFunc

myFunc は Insert で NewRecord を引き起こします。

0 投票する
1 に答える
4023 参照

delphi - adoQuery フィルター

Delphi 7 で ADOQuery の Filter プロパティを使用する簡単な例を教えてください。

ありがとう。

0 投票する
1 に答える
1002 参照

database - ADOQueryとDBNavigator

わかった。単純なデータベース、DBGrid、DBNavigatorがあります。このコードをadoqueryに使用し、DBGridでこれを表示します

Table1 Group by 1、2からCount(*)As 1、23を選択します

問題は、1つの同じ記事が2つ以上あり、それをDBnavigatorから削除しようとすると、送信されることです。

キー列の情報が不十分または正しくありません。更新の影響を受けた行が多すぎます。2行以上削除したい。1行だけではない。それを修正する方法は?

0 投票する
2 に答える
1561 参照

multithreading - スレッドで TADOQuery を操作する

DBに接続し、データベースからデータを繰り返し(1分間隔で)読み取るアプリケーションを作成しています。これは RSS フィード リーダーのようなものですが、ローカル DB を備えています。データの読み取りに失敗した場合は、接続を再確立しようとします。フォームに配置された TADOConnection と TADOQuery を使用して設計しました (したがって、動的な作成はありません)。私の目的は、ユーザーの観点からアプリケーションを「生きている」状態に保つことです。そのため、接続部分と読み取り部分を 1 つのスレッドに配置しました。問題は、それを最善の方法で行う方法です。

私のデザインは次のようになります。

  • アプリケーションの起動時に、フォームとともに TADOConnection と TADOQuery が作成されます。
  • 別のスレッドで接続を開く (TADOConnection)
  • 接続が確立された場合は、接続スレッドを一時停止し、フォームでタイマーを開始します。これにより、データ読み取りのために別のスレッドが定期的に再開されます
  • 読み取りスレッドが成功した場合、何も起こらずフォーム タイマーが続行されます。失敗した場合、スレッドはタイマーを停止し、接続スレッドを再開します。

TADOConnection または TADOQuery を動的に作成する方が良いですか、それとも問題ではありませんか? たとえば、スレッド内のクリティカル セクションなどを使用する方がよいでしょうか (同時にコンポーネントにアクセスできるのは 1 つだけで、スレッドは 1 つだけです)。

ご提案いただきありがとうございます