簡體   English   中英

將imagepath保存在數據庫中並更改背景圖像

[英]saving imagepath in database and changing background image

  1. 第一個問題。我想在數據庫中保存圖像路徑,但出現錯誤“字符串或二進制數據將被截斷。該語句已終止”。
  2. 第二個問題是背景圖像沒有改變。

這是我的代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

public partial class welcome : System.Web.UI.Page
{
    string fname;
    string fpath;
    SqlConnection con = new SqlConnection();
    SqlCommand cmd;
    string emailname;
    protected void Page_Load(object sender, EventArgs e)
    {
        if ((Session["Username"] == null) && (Session["useraddress"] == null))
        {
            Response.Redirect("Registration.aspx");
        }
        else
        {
            emailname = Session["useremail"].ToString();
            Label2.Text = Session["Username"].ToString();
            Label3.Text = Session["useraddress"].ToString();
            welcomelbl.Text = Session["Username"].ToString();
            addlbl.Text = Session["useraddress"].ToString();
        }
    }

    protected void Button1_Click1(object sender, EventArgs e)
    {
        Session.Clear();
        Response.Redirect("login.aspx");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        imageupload();
    }
    public  void imageupload()
    {
fpath = FileUpload2.PostedFile.FileName;

            if ((string.IsNullOrEmpty(fpath)))
            {
                return;
            }
            fname = System.IO.Path.GetFileName(fpath);
            FileUpload2.PostedFile.SaveAs(Server.MapPath("~/"+emailname+"/")+fname); 
            imagepathtext.Text = Server.MapPath("~/"+emailname+"") + fname;
            imgnametext.Text = fname;
            divimg.Style.Add("background-image", "url("+fname+")");
SqlConnection con = Connection.conn(); 
         con.Open();
         SqlCommand cmd = new SqlCommand("insert into imgtbl (imgname,useraddress,imgaddress) values(@name ,'" + emailname + "' ,@imgaddress)", con);
         cmd.Parameters.AddWithValue("@name", imgnametext.Text).ToString(); ;
         cmd.Parameters.AddWithValue("@imgaddress",imagepathtext.Text).ToString();
         cmd.ExecuteNonQuery();
         con.Close();
         return;
}
}

第一個問題Example

由於您可能會聲明此列datatype varchar(25)但在該列中插入的數據超過25個字符時會出現此問題。

檢查您的數據類型長度

對於第二個問題,請指定您的圖像路徑,如下所示

string fname = @"C:\imagepath";
fpath = System.IO.Path.GetFileName(fname);
  1. 第一個問題是由於數據庫中的數據類型比數據短。 相應地更改數據類型。
  2. 第二個問題是由於我認為語法。 在函數imageupload中更改代碼,如下所示:

    divimg.Style.Add(“ background”,“ url(” + imagepath +“)”);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM