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