テキストと画像の両方をデータベースに挿入しようとしています。必須フィールドは、カテゴリ、名前、および説明のみです。それらのフィールドだけにエントリがある場合、データベースへの挿入は成功しません。必須ではない RecipePicture がロードされている場合、挿入は成功です。私はSqlServerを使用しています。
問題はコード ビハインドにあるはずですが、見つかりません。写真/画像を挿入せずにdbに挿入できるようにする必要があるため、助けていただければ幸いです。背後にあるコード:
protected void UploadButton_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null
&& FileUpload1.PostedFile.FileName != "")
{
byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage, 0, (int)FileUpload1.PostedFile.ContentLength);
SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["AsianConnectionString"].ConnectionString);
SqlCommand storeimage = new SqlCommand("INSERT INTO AsianRecipe"
+ "(Category, Name, Description, RecipePicture, RecipePictureType, RecipePictureSize, UserName, UserPicture, UserPictureType, UserPictureSize) "
+ " values (@Category, @Name, @Description, @image, @imagetype, @imagesize, @UserName, @userpicture, @userpicturetype, @userpicturesize)", myConnection);
storeimage.Parameters.Add("@image", SqlDbType.VarBinary, myimage.Length).Value = myimage;
storeimage.Parameters.Add("@imagetype", SqlDbType.VarChar, 100).Value
= FileUpload1.PostedFile.ContentType;
storeimage.Parameters.Add("@imagesize", SqlDbType.BigInt, 99999).Value
= FileUpload1.PostedFile.ContentLength;
storeimage.Parameters.Add("@category", SqlDbType.NVarChar, 50).Value
= lblSelection.Text;
storeimage.Parameters.Add("@name", SqlDbType.NVarChar, 100).Value
= TextBox2.Text;
storeimage.Parameters.Add("@description", SqlDbType.NVarChar, 250).Value
= TextBox3.Text;
storeimage.Parameters.Add("@username", SqlDbType.NVarChar, 50).Value
= TextBox4.Text;
storeimage.Parameters.Add("@userpicture", SqlDbType.VarBinary, myimage.Length).Value = myimage;
storeimage.Parameters.Add("@userpicturetype", SqlDbType.VarChar, 100).Value
= FileUpload2.PostedFile.ContentType;
storeimage.Parameters.Add("@userpicturesize", SqlDbType.BigInt, 99999).Value
= FileUpload2.PostedFile.ContentLength;
myConnection.Open();
storeimage.ExecuteNonQuery();
myConnection.Close();
}
}
protected void OnSelect(object sender, EventArgs e)
{
lblSelection.Text = ((LinkButton)sender).Text;
}
}
}