更新クエリを使用してファイル パスを SQL Server に挿入しようとしています。ただし、クエリがエラーなしで正常に実行されているにもかかわらず、変更を確認できません。これが私のasp.net Webアプリのコードです。データベース内のテーブルの列にストリーム値を挿入しようとしていますが、これをローカル マシンで実行しています。
protected void Uplad(object sender, EventArgs e)
{
string phone = Session["phn"].ToString();
string base64 = Request.Form["imgCropped"];
byte[] bytes = Convert.FromBase64String(base64.Split(',')[1]);
using (FileStream stream = new FileStream(Server.MapPath("~/Images/dp/" + phone + ".png"), FileMode.Create))
{
str = stream.ToString();
con.Open();
SqlCommand dpcmd = new SqlCommand("update xyz set ab = '" + str + "' where Moile ='" + phone + "'", cnn); //if i mouseover i can see the value of stream as C://xyz.png (cant write full path here) but when i check in db it is not showing up...
stream.Write(bytes, 0, bytes.Length);
stream.Flush();
con.Close();
}
display.Visible = false;
}
コンパイル中に値を確認することもできます。ファイルも指定したフォルダーに保存されますが、データベースが更新されないのはなぜですか? 古い値のみを使用していますか?それに応じて isPostback に変更を実装するにはどうすればよいですか? 前もって感謝します :)
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack) // this block doesnt get executed when above handler is executed...hence i am assigning a value in the else to test
{
string phone = Convert.ToString(Session["pn"]);
oldbi.Text = phone; //old number
usrname.Text = Convert.ToString(Session["fname"]); //assigning the name
nm = Convert.ToString(Session["paw"]);
if (phone != "")
{
SetInitialRow();
}
else
{
Response.Redirect("join.aspx");
}
}
else
{
str = "do"; // i tried to assign a value here and i tried inserting this value in update statement but even this is not showing up in DB. I think it is not updating new value
}
}
catch
{
Response.Redirect("join.aspx");
}
}