Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用FileUpload将图像插入数据库_Asp.net_Sql_Linq To Sql_File Upload_Image Uploading - Fatal编程技术网

Asp.net 使用FileUpload将图像插入数据库

Asp.net 使用FileUpload将图像插入数据库,asp.net,sql,linq-to-sql,file-upload,image-uploading,Asp.net,Sql,Linq To Sql,File Upload,Image Uploading,我想使用FileUpload控件将图像插入数据库。我已尝试使用以下代码执行此操作: protected void btnUploadAvatar_Click(object sender, EventArgs e) { if (fuAvatar.PostedFile != null && fuAvatar.PostedFile.FileName != "") ; { byte[] imageSize = new byt

我想使用FileUpload控件将图像插入数据库。我已尝试使用以下代码执行此操作:

protected void btnUploadAvatar_Click(object sender, EventArgs e)
    {
        if (fuAvatar.PostedFile != null && fuAvatar.PostedFile.FileName != "") ;
        {
            byte[] imageSize = new byte[fuAvatar.PostedFile.ContentLength];

            HttpPostedFile uploadImage = fuAvatar.PostedFile;

            uploadImage.InputStream.Read(imageSize, 0, fuAvatar.PostedFile.ContentLength);

            SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");

            SqlCommand cmd = new SqlCommand();

            cmd.CommandText = "INSERT INTO User(image" + "VALUES (@Image) WHERE userid = @Userid";

            cmd.CommandType = CommandType.Text;

            cmd.Connection = con;

            SqlParameter UploadedImage = new SqlParameter("@Image", SqlDbType.Image, imageSize.Length);
            UploadedImage.Value = imageSize;

            SqlParameter userid = new SqlParameter("@Userid", SqlDbType.Int);
            userid.Value = Convert.ToInt32(Session["userid"]);

            cmd.Parameters.Add(userid);
            cmd.Parameters.Add(UploadedImage);

            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();

            /*if(result > 0)
            {
                lblResult.Text = "Avatar lastet opp";
            }*/
        }
    }

但是我在cmd.ExecuteNonQuery()上得到一个错误;上面说:SqlException未经用户代码处理,关键字“user”附近的语法不正确。我尝试了小于10KB的*.jpg和*.png文件。

您有语法错误:

cmd.CommandText = 
            "INSERT INTO User(image" + "VALUES (@Image) WHERE userid = @Userid";
缺少一个
和间距:

cmd.CommandText = 
          "INSERT INTO User(image)" + " VALUES (@Image) WHERE userid = @Userid";
或者更好(为什么要连接?):


谢谢,这很有效,但我找到了另一种方法。无论如何谢谢你!
cmd.CommandText = 
          "INSERT INTO User(image) VALUES (@Image) WHERE userid = @Userid";