0

ネットワーク内のサーバー マシン上にこの SQL データベースがあり、ファイルがサーバー マシンのファイル システムとそのメタ データに保存される場所に応じて、クライアント マシンのいずれかがデータベースとの間でファイルをアップロードおよびダウンロードできるようにしたいデータベースに格納されます。
そのタスクを実行するための最良の方法は何ですか? C# winform アプリケーションを使用してどのように実装すればよいですか? thx事前に@_@

4

2 に答える 2

0

なぜファイルをデータベースに保存したいのですか?ファイルシステム(問題のサーバーにもあると確信しています)は、ファイルの保持と提供にはるかに適しています。

ファイルがデータベースに存在する必要がある場合は、おそらくそれらをblobフィールドに格納するだけです。もちろん、ファイルに関するデータを含むフィールドをテーブルに追加する必要があります。ファイル名、ファイルタイプ、その場でblobから計算する必要がない場合はファイルサイズ、アップロードしたユーザー、アップロード時刻など。

その時点で、アプリケーション内の他のデータベースレコードと同じように操作し(簡潔にするために説明をスキップします。主題に関するチュートリアルが不足することはありません)、blobのバイト配列との間で変換する追加の手順を実行します。データ。また、例も不足していません

しかし、私は元の質問に戻らなければなりません。なぜファイルをリレーショナルデータベースに入れるのですか?

于 2010-12-23T21:00:25.367 に答える
0
try
{
    if (txtFilePath.Text == pdfFilepath )
    {
        byte [] b=File .ReadAllBytes (pdfFilepath);
        SqlConnection con1=Connection.Conn();
        SqlCommand cmd=new SqlCommand ("insert into tbl_Document(Company_Id,FileNo,PdfFile)values(@cid,@fno,@file)",con1);
        cmd .Parameters .AddWithValue("@cid",txtCompanyId.Text);
        cmd .Parameters .AddWithValue("@fno",txtFileNumber.Text);
        cmd .Parameters .AddWithValue("@file",b);
        con1.Open();
        cmd .ExecuteNonQuery();
        con1.Close();
    }
    else
    {
        MessageBox.Show("Please give a valid file address.");
        this.Dispose();
    }
}
catch
{ 
    MessageBox.Show("Unable to Process.");
    this.Dispose();
}
于 2012-08-30T11:37:19.427 に答える