2017-07-29 10 views
1

dbfファイルに新しいレコードを追加したい(ファイル名はSTCRD.dbf)。私はビジュアルスタジオ2017>データ接続を使用して新しいレコードを追加しました。DBFファイルに新しいRecoedを追加した後にCDXファイルが更新されない

enter image description here

新しいレコードが追加された後、名前STCRD.cdxあるCDXファイルは、更新されません。私はビジュアルfoxproの初心者です。 cdxファイルが変更された後も私はまだ分かりませんでしたが、dbfファイルも同様に変更する必要があります。誰も私にこの種のデータベースに新しいレコードを追加する正しい方法を教えてもらえますか?

いくつかの情報が含まれているlinkが見つかりましたが、packコマンドの発行に関する回答を理解できません。

+0

パスは接続文字列でのみ使用します。それ以外のコマンドはありません。どのようにあなたの挿入/更新/削除をやっていますか? VSがコマンドを生成するようにすると、VSはVFPに対してそれを間違って実行します。 –

答えて

2

VFPおよびOleDb接続での作業については、他の投稿を確認してください。接続は、個々のファイル名/ dbf/cdx/fptではなく、ファイルが存在するPATHを指している必要があります。

だからあなたの接続文字列は、ちょうど

Dを指している必要があります:\作業\シリチャイ\ TNPSE

次に、あなたの選択、挿入、更新、削除したばかりのテーブルを参照することができますし、問題なく動作するはずです。 ..

セレクト* STCRDからどこ....

インサートSTCRD(FLD1、FLD2、FLD3)値(?、?、?)に

とクエリをパラメータ化する

+0

私を訂正していただきありがとうございます。私はあなたの提案として接続文字列を変更した後、私はまだ同じ結果を得た。ファイルSTCRD.cdxはまだ更新されません。それが正しいか? – wittakarn

+0

@ wittakarnの場合、以前レコードをコミットする際に問題があった場合は、再インデックスを行う必要があります。接続が正確になったので、FUTUREインサートが動作するように見えるか、それともまだインデックスが欠けていますか。 – DRapp

+0

どのようにCDXファイルの変更を探していますか?あなたの唯一の懸案事項は、データレコードとそのフィールドが格納/読み込み/書き込みされるDBFファイルである必要があります(INSERT、SELECTなどはすべてDBFに行きます)。関連するCDXが正しく作成されていれば、誰が気にする?はい、Active Indexファイルを使用すると、クエリの一部としてインデックス式が含まれている限り、SQLクエリが高速化されます。また、VFP自体で作業している場合は、SEEK()がそれを利用することができ、確立されていますが、VB.ASPまたはC#の観点からは、誰が気にしますか? – Dhugalmac

1

私はvisual foxproの初心者です。私はまだcdxファイルが であることを知らなかった、dbfファイルも同様に変更する必要があります。誰でも のこの種の新しいレコードを追加する正しい方法を指す ことができますか?

VFPでは、関連付けられたインデックスファイル(CDXファイル)を作成するためのデータテーブル(DBFファイル)を作成します。以下のような
何か:

おそらく
CREATE TABLE MyTable (field1 C(10), field2 M, Field3 D) 
SELECT MyTable 
INDEX ON field1 TAG firstfld 

無料、オンラインVFPのチュートリアルでいくつかの時間を費やすことに役立ちます。データテーブル(DBFファイル - STCRD.dbf)に
Free On-line VFP tutorials

変更は自動的に「トリガー」関連付けられたインデックス・ファイル(CDXファイル)更新するであろう。

ODBC接続を作成すると、DBFファイル(STCRD.dbf)に、NOTのCDXファイルが作成されます。データテーブルが関連するインデックスファイルを認識すると、CDXファイルの動作は「自動」になります。あなたはCDXファイルで直接作業しません。

私にとっては、あなたが達成しようとしていることがわかりません。 ODBC接続が正しく設定されていることを確認し、問題が何であるかを明確に説明してください。

サイドノート:DATABASEはコンテナ(一部はM $ SQL Serverのような 'インテリジェント')で、他はVFPデータベースのようなものではありませんが、それら自体はNot Dataテーブルです。データテーブルはDATABASE内に存在しても存在しなくてもよいが、データテーブルは「データテーブル」であり、データレコードは「生きている」。

幸運

関連する問題