2014-01-30 68 views
0
  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; 
} 
} 
+1

第一个问题:您的某个字段在数据库中太短。 – TGlatzer

+0

坦克你先生我已经解决了第一个问题。请问先生解决我的第二个问题 – Raghu

+0

如果这真的是你的代码看起来这是你的第一个问题,如果你在Visual Studio请按CTRL + K&CTRL + D和更新你的答案 –

回答

0

IST问题Example

的,因为你这个问题可能宣布柱datatype varchar(25)但在该列中插入数据超过25个字符。

检查你的数据类型长度

对于第二个问题,指定图像的路径是这样

string fname = @"C:\imagepath"; 
fpath = System.IO.Path.GetFileName(fname); 
+0

一些上说,使用这个'<%#url(“imagepaht”,“{0}”)%>'但我很困惑,我们可以使用 – Raghu

0
  1. 1日的问题是由于在数据库中的数据类型的长度短则数据。相应地更改您的数据类型。
  2. 第二个问题是由于我认为的语法。改变你的代码在函数imageupload像:

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

+0

先生我也试过,但没有变化,除了我以前的图像变成隐藏隐藏 – Raghu

+0

检查萤火虫中的图像文件路径。 –