回 帖 发 新 帖 刷新版面

主题:奇怪的问题

我在用GridView的编辑列做更新的时候出现了一个奇怪的问题

第 1 行: 'where productTypeID=' 附近有语法错误。
字符串 '' 之前有未闭合的引号

代码如下:

    protected void BindTogvProductType()
    {
        con.Open();
        string sqlstrType = "select * from T_ProductType";
        gvProductType.DataKeyNames = new string[] { "productTypeID" };
        SqlDataAdapter sdaType = new SqlDataAdapter(sqlstrType, con);
        DataSet dsType = new DataSet();
        sdaType.Fill(dsType);
        gvProductType.DataSource = dsType;
        gvProductType.DataBind();
        con.Close();
    }

    protected void gvProductType_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridViewRow gvr = gvProductType.Rows[e.NewEditIndex];
        this.gvProductType.EditIndex = gvr.RowIndex;
        BindTogvProductType();
    }
    protected void gvProductType_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        this.gvProductType.EditIndex = -1;
        BindTogvProductType();
    }
    protected void gvProductType_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        con.Open();
        GridViewRow gvr = gvProductType.Rows[e.RowIndex];
        string productTypeID = this.gvProductType.DataKeys[e.RowIndex].ToString();
        string productTypeName = ((TextBox)(gvr.Cells[1].Controls[0])).Text.Trim();
        string sqlstrUpdate = "update T_ProductType set productTypeName=" + productTypeName + "'where productTypeID='" + productTypeID + "'";
        SqlCommand cmdUpdate = new SqlCommand(sqlstrUpdate, con);
        cmdUpdate.ExecuteNonQuery();
        this.gvProductType.EditIndex = -1;
        con.Close();
        BindTogvProductType();
    }

回复列表 (共6个回复)

沙发

string sqlstrUpdate = "update T_ProductType set productTypeName='" + productTypeName + "'where productTypeID='" + productTypeID + "'";
根据错误提示自己检查一下代码就可以解决了

板凳

我的代码取不到productTypeID的值。。。。怎么办

3 楼

检查字段类型

4 楼

饿。。。不懂,能说的具体点吗

5 楼

编个方法屏蔽提交的单引号值.

6 楼

[quote]我的代码取不到productTypeID的值。。。。怎么办[/quote]
是否设置了该字段为DataKeys?

我来回复

您尚未登录,请登录后再回复。点此登录或注册