私はTADODataSet
(D7)を使用しています。
私は、データセットでデザインモードで永続フィールドを作成しません。実行時にTDataSet参照フィールドを作成する方法は?
dsItems.CommandText := 'select ID, ItemName, UserIDCreate from Items';
dsUsers.CommandText := 'select ID, LoginName from Users'; // lookup dataset
私はdsItems
をダブルクリックし、「すべてのfiledsを追加」して、「新規申請」をクリックし、自分のルックアップフィールドを定義し、すべてが正常に動作している場合。 結果dsItems
が含まれている必要がありますID, ItemName, UserIDCreate, LoginName_Lookup
を私がデザイン時にこのすべてをやって回避した後/または(いないことを確認?)データセットが開かれる前に、参照フィールドを追加するにはどうすればよいです。言い換えれば
:どのように私はをエミュレートします「すべてのfiledsを追加」し、その後、実行時に提出されたルックアップを追加しを「新規申請しましたか」?
注: IDEからジョンのコードを実行しているとき、私は例外を取得します。例外は、データセットを開くときに発生します:EOleException with message 'An unknown error has occured'
。行の
function TCustomADODataSet.LocateRecord (ADODB.pas)
if FieldCount = 1 then FLookupCursor.Find...
遵守プログラムが動作しているbecouse私は答えを受け入れています。
IDE内でフォームを実行しているときに誰かが例外を取得するかどうかを検証できればいいと思います。
このコードを実行するには、デザインモードで「永続フィールドとしてアクセスする必要がある他のフィールドは何でも」作成する必要がありますか? – Vlad
DataSetを開こうとしたときに、「不明なエラーが発生しました」というメッセージが表示された 'EOleExceptionを取得しました。 – Vlad
すべての永続フィールドを実行時に追加できます。どの部分が例外をスローしていますか、どの行ですか? –