1

SQLサーバーでデータ型が画像の列にバイナリデータを追加することは可能ですか?varbinary(max)は可能ですが、画像データ型のソリューションが必要です。もしそうなら、私にコードサンプルを提供してください。

4

2 に答える 2

0
//Create Binary Data Stream  
    string filePath = Server.MapPath("APP_DATA/TestDoc.docx");
    string filename = Path.GetFileName(filePath);
    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    Byte[] bytes = br.ReadBytes((Int32)fs.Length);
    br.Close();
    fs.Close();

--------------------
//insert the file into database

string strQuery = "insert into tblFiles(Name, ContentType, Data) values (@Name, @ContentType, @Data)";
SqlCommand cmd = new SqlCommand(strQuery,conn);
cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename;
cmd.Parameters.Add("@ContentType", SqlDbType.VarChar).Value = "application/vnd.ms-word";
cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes;
cmd.ExecuteNonQuery();

注: ntext、text、および image データ型は、Microsoft SQL Server の将来のバージョンで削除される予定です。新しい開発作業でこれらのデータ型を使用することは避け、現在それらを使用しているアプリケーションを変更することを計画してください。代わりに、nvarchar(max)、varchar(max)、および varbinary(max) を使用してください。

于 2012-06-04T07:06:13.703 に答える