protected void upimg_about_Click(object sender, EventArgs e)
{
con.Open();
string sqlQuery = " UPDATE [dbo].[tbldetails] SET [image][email protected],[image2][email protected] WHERE [email protected]";
SqlCommand cmd2 = new SqlCommand(sqlQuery, con);
cmd2.Parameters.AddWithValue("@id", Session["email"].ToString());
int img = Image1.PostedFile.ContentLength;
int img2 = Image2.PostedFile.ContentLength;
byte[] msdata = new byte[img];
byte[] msdata2 = new byte[img2];
Image1.PostedFile.InputStream.Read(msdata, 0, img);
Image2.PostedFile.InputStream.Read(msdata2, 0, img2);
cmd2.Parameters.AddWithValue("@image", msdata);
cmd2.Parameters.AddWithValue("@image2", msdata2);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd2.ExecuteNonQuery();
con.Close();
data1.Text="Image Updated Successfully";
}
これは、データベースのイメージを更新するために使用しているコードです。イメージの更新と取得(Asp.net c#)
ユーザは必要に応じて画像を更新し(firstpage.aspxなど)、次のページ(nextpage.aspx)で画像を取得できます。
しかし、問題は次のとおりです。ユーザーが1つの画像だけを更新し、その画像をアップロードして更新ボタンをクリックしたとし、次のページの画像を取得するときに更新された画像は見えますが、すでにデータベースに存在していません。私は確信していませんが、更新中に他のfileuploadが空ですなぜこれが起こっているのですか?それを行うための他の方法はありますか?
PS:firstpage.aspxにテキストボックスがあります。このテキストボックスには、すでにデータベースに格納されているテキストを取得しているため、ユーザーが変更を行いたい場合は簡単に行うことができます。
TextBox1.Text = dr["name"].ToString();
TextBox2.Text = dr["address"].ToString();
したがって、以前に送信した画像パスを取得することは可能ですか?または、ユーザーが単一のイメージを更新でき、検索中に両方のイメージを取り出すことができますか?
ありがとうございました! :)
画像のアップロード画像がアップロードされていない場合でも正常に更新されます – Skullcandy
画像はデータベースに保存されていますか?ここで論理的なエラーがない限り( '!Image1.HasFile &&!Image2.HasFile')、アップロードされた画像がない場合、関数は終了しなければなりません。 – dana
こんにちは、それは働いてくれてありがとう! – Skullcandy