2

更新クエリを使用してファイル パスを 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");
        }
    }
4

1 に答える 1

2

次の行も配置する必要があります。あなたが行ったことは を作成しただけSqlCommandですが、 に対して実行していませんconnection

dpcmd.CommandType=CommandType.Text;
dpcmd.ExecuteNonQuery();

アップデート

ファイル名を保存したいだけなら、これが役立つかもしれません

string str=phone + ".png";
SqlCommand dpcmd = new SqlCommand("update xyz set ab = '" + str + "' where Mobile ='" + phone + "'", cnn);
于 2016-02-19T10:50:43.450 に答える