protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            
                if (Session["UserName"] == null || Session["UserName"].ToString() == "")
                {
                    Response.Write("<script>alert('未登陆或登陆超时');window.location.href='Default.aspx'</script>");
                }
            
            ddlclass.DataSource = new Sqlhelp().GetDataSet("select * from class");
            ddlclass.DataTextField = "ClassName";
            ddlclass.DataValueField = "Cid";
            ddlclass.DataBind();
            if (Request.QueryString ["id"] == null || Request.QueryString ["id"].ToString ()=="")
            {            }
            else
            {
                //取得要修改的新闻编号
                string newsID = Request.Params["id"].ToString();
                SqlDataReader dr = new Sqlhelp().GetReader("select * from news where ID=" + newsID);
                if (dr.Read())
                //显示新闻内容
                {
                    txttitle.Text = dr["Title"].ToString();
                    TContent.Text = dr["Content"].ToString();
                    txtauthor.Text = dr["Author"].ToString();
                }
            }
        }    }
    protected void btncannel_Click(object sender, EventArgs e)
    {
        txttitle.Text = "";
        TContent.Text = "";
        txtauthor.Text = "";
 
    }
    protected void btnok_Click(object sender, EventArgs e)
    {
        //检查用户输入是否合法
        if (txttitle.Text == "" || TContent.Text == "")
        {
            Label1.Text = "标题,内容不能为空!";
            return;
        }
        //保存上传文件
        String filepath = Server.MapPath("..\\upload\\" +Path.GetFileName(File1.PostedFile.FileName));
        if (File.Exists(filepath))
        {
            Response.Write("<script language=javascript>alert('上传文件重名,请改名后再上传!');<script>");
            return;
        }
        else
        {
            if (File1.Value.ToString() != "")
            {
                File1.PostedFile.SaveAs(filepath);
            }
        }
        String sql;
        SqlConnection Conn = new Sqlhelp().GetConnStr();
        sql = "update  news set Title='" + txttitle.Text + "',Content='" + TContent.Text + "',Author='" + txtauthor.Text + "',Img='" + "upload/" + Path.GetFileName(File1.PostedFile.FileName) + "',Newstime='" + DateTime.Now.ToString(); +"',Classname='" + ddlclass.SelectedItem.Value + "'where ID='"+newsID;
            
        SqlCommand cmd = new SqlCommand(sql, Conn);
        cmd.Parameters.Add("@Title", SqlDbType.VarChar).Value = txttitle.Text;
        cmd.Parameters.Add("@Content", SqlDbType.VarChar).Value = TContent.Text;
        cmd.Parameters.Add("@Author", SqlDbType.VarChar).Value = txtauthor.Text;
        cmd.Parameters.Add("@Click", SqlDbType.Int).Value = 0;
        cmd.Parameters.Add("@Img", SqlDbType.VarChar).Value = "upload/" + Path.GetFileName(File1.PostedFile.FileName);
        cmd.Parameters.Add("@Newstime", SqlDbType.DateTime).Value = DateTime.Now.ToString();
        cmd.Parameters.Add("@ClassName", SqlDbType.Int).Value = ddlclass.SelectedItem.Value;
        int ret = cmd.ExecuteNonQuery();
        if (ret > 0)
        {
            Response.Write("<script>window.alert('成功加入')</script>");
        }
    }
就是红色一句报错,要怎么修改

解决方案 »

  1.   

     sql = "update  news set Title='" + txttitle.Text + "',Content='" + TContent.Text + "',Author='" + txtauthor.Text + "',Img='" + "upload/" + Path.GetFileName(File1.PostedFile.FileName) + "',Newstime='" + DateTime.Now.ToString(); +"',Classname='" + ddlclass.SelectedItem.Value + "'where ID='"+newsID;
    这一句
      

  2.   

    你都使用Parameters来传递参数了,怎么还用字符串拼接的方式来构造语句。
    你语句中都没有@Title这个。
    改成
    update  news set Title=@Title,111=@111,222=@222.....
      

  3.   

    sql = "update news set Title=@Title ....";
    这样子,不能用字符串连接。
      

  4.   

    改了但是提示这个
    sql = "update  news set Title=@Title,Content=@Content,Author=@Author,Img=@Img,Newstime=@Newstime,Classname=@Classname where ID='"+newsID;
    当前上下文中不存在名称“newsID”