回答

收藏

我可以使用varbinary存储图像的类型SQL Server数据库中吗?

技术问答 技术问答 327 人阅读 | 0 人回复 | 2023-09-14

我正在尝试将图像存储在SQL Server应该在数据库中使用哪种类型的数据?
+ K4 O  f2 D9 \) ^  t  J3 e7 N在以下内容中code aspx.cs,我试图从请求输入流中读取所有字节并将其存储在数据库中,但应该是byte[]表中没有正确更新数组。我想念什么?7 p4 \8 ~' U& J9 F
protected void Page_Load(object sender,EventArgs e){          Request.InputStream.Position = byte[] Contents = new byte[Request.InputStream.Length];        Request.InputStream.Read(Contents,0,(int)Request.InputStream.Length);        con.Open();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;try        {              string query = "update tblImageUpload set "   IMAGE_ID   " = @imageBytes where Image_ID='"   CID   "'";            int i =     using (cmd = new SqlCommand(query,con))                                                   cmd.Parameters.Add("@imageBytes",SqlDbType.VarBinary,Contents.Length).Value = Contents;                 i = cmd.ExecuteNonQuery();                 Response.Write("Upload Query = "   query);            Response.Write("Upload Code = "   i);      catch (Exception ex)                Response.Write("Upload Code="   ex);                     ! K/ B) V2 D. M7 \7 _
    解决方案:                                                                6 Q6 |" E+ D" S" _
                                                                可以用可以用VARBINARY是的。你最好去VARBINARY(MAX)存储它们。
5 n' l$ d2 n3 ~4 Z2 ~可以这样使用:, @) M) O; y! _9 A9 u
cmd.Parameters.Add("@imageBytes",SqlDbType.VarBinaryMax);cmd.Parameters["@imageBytes"].Value = Contents;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则