1

以下に示すように、Visual foxpro での dbf 操作に関連するコードがあります。

SELECT 3
USE student shared

SET FILTER TO

LOCATE FOR id=thisform.txtStudentID.Value 

コードの各行を理解し、C#.net に変換するのを手伝ってくれる人はいますか? ここでは、C# プロジェクトのバックエンドとして SQL Server を使用しています。以下のタイプのコードにも直面したことがあります。

Use Student Shared 

// ここではデータベース フィールドに直接アクセスしています。ここでは、"select * from student" などのすべてのレコードまたは最後のレコードのみを取得することをターゲットにしています。デフォルトでは、この学生テーブルには 6 列ありますが、dbf ファイルには 12 列あります。C#.NET でこれを行うにはどうすればよいですか?

4

3 に答える 3

1

あなたの質問の一部に答えるために-このコードは何をします...

以下は、作業領域を設定します (私は数年間 foxpro を行っていませんが、これは VFP の新しいバージョンでは冗長になると思います)。ワークエリアは、他のワークスペースとは別に保持されている単なるメモリ内のスペースです。

Select 3

以下は、以前に開いたワークスペースへの非読み取り専用アクセス用に「Student」というテーブルを開きます

USE student shared

以下は、テーブルのすべてのフィルターをクリアします (したがって、「BROWSE」を実行すると、すべてのレコードが取得されます)

SET FILTER TO

以下は、id を持つレコードが現在のフォームの txtStudentID テキストボックスの値と等しい特定のレコードへのレコード ポインターを設定します (foxpro は厳密に型指定された言語ではありません)。

LOCATE FOR id=thisform.txtStudentID.Value 

質問の 2 番目の部分については、foxpro と ac# アプリケーションの間で直接変換する方法はありません。主なポイントは、Foxpro はデータベースを中心に構築されており、厳密に型指定されていないのに対し、c# は厳密に型指定されており、データベースにアクセスできることです。Google で簡単に検索すると、Markus Egger のような人が foxpro から c# に変換するために作成したツールが見つかる可能性があります。

私見と、企業規模のシステムを VFP から c#/SQL サーバーに移行した経験から - システムでこれを実行したい場合 - 停止し、それが悪い考えであると自分自身に納得させ、C# で物事を書き直してください - データベースの選択あなたのニーズに最適です。

これ以上コメントするのは難しいです - あなたが使用している foxpro のバージョンを述べていません - あなたは foxpro を使用していますか、それともビジュアル foxpro を使用していますか? アプリケーションのサイズ、背景は?

HTH ジェイ

于 2013-04-22T18:59:06.343 に答える