首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求解 System.Data.SqlClient.SqlException: 列名 ' '无效。

2013-03-28 
求解System.Data.SqlClient.SqlException: 列名 ''无效。急!在线等~~在做系统时出现如下错误:列

求解 System.Data.SqlClient.SqlException: 列名 ' '无效。急!在线等~~
在做系统时出现如下错误:

列名 '一米阳光' 无效。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 列名 '一米阳光' 无效。

源错误: 
行 69:             SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
行 70:             DataSet ds = new DataSet();
行 71:             sda.Fill(ds);
行 72:             conn.Close();
行 73:             return ds;
在网上也查过相关资料,也做过相关的修改,但还是无法解决问题,把代码发过来了,希望各位高手帮忙解答一下

前台代码:
<table align=center>
                <tr>
                    <td>
                        用户名</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                            ControlToValidate="TextBox1" ErrorMessage="用户名不能为空">用户名不能为空</asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        密码:</td>
                    <td>
                        <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                            ControlToValidate="TextBox2" ErrorMessage="密码至少6个英文字符" 
                            ValidationExpression="[a-zA-Z]{6,}">密码至少6个英文字符</asp:RegularExpressionValidator>


                    </td>
                </tr>
                <tr>
                    <td>
                        重复密码</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox>
                        <asp:CompareValidator ID="CompareValidator1" runat="server" 
                            ControlToCompare="TextBox2" ControlToValidate="TextBox3" 
                            ErrorMessage="两次密码必须一致">两次密码必须一致</asp:CompareValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        性别:</td>
                    <td style="text-align: left">
                        <asp:DropDownList ID="DropDownList1" runat="server">
                            <asp:ListItem>男</asp:ListItem>
                            <asp:ListItem>女</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td style="height: 15px">
                        年龄:</td>


                    <td style="height: 15px; text-align: left">
                        <asp:TextBox ID="TextBox9" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td>
                        真实姓名:</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        地址:</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        邮编:</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        手机:</td>


                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        Email:</td>
                    <td style="text-align: left">
                        <asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>
                        &nbsp;</td>
                    <td>
                        <asp:Button ID="Button1" runat="server" Text="确定" onclick="Button1_Click" />
                    </td>
                </tr>
            </table>

后台代码:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["MemberName"] == null)
            {
                Response.Write("<script language='javascript'>alert('没有登录,不能操作!');location='javascript:history.go(-1)';</script>");
            }
            else
            {
                GetUserInfo();
            }
        }


    }
    private void GetUserInfo()
    {
        string sql = "select * from TB_Member where MemberName = " + Session["MemberName"];
        DataTable dt = DBHelper.GetDataSet(sql).Tables[0];

        this.TextBox1.Text = dt.Rows[0]["MemberName"].ToString();
        this.TextBox2.Text = dt.Rows[0]["MemberPwd"].ToString();
        this.TextBox3.Text = dt.Rows[0]["MemberPwd"].ToString();
        this.TextBox4.Text = dt.Rows[0]["RealName"].ToString();
        this.TextBox5.Text = dt.Rows[0]["Address"].ToString();
        this.TextBox6.Text = dt.Rows[0]["Code"].ToString();
        this.TextBox7.Text = dt.Rows[0]["MobileTel"].ToString();
        this.TextBox8.Text = dt.Rows[0]["Email"].ToString();
        this.TextBox9.Text = dt.Rows[0]["Age"].ToString();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        //Trim方法返回一个新字符串,它相当于从当前 String 对象中移除了一组指定字符的所有前导匹配项和尾随匹配项。
        //获取TextBox控件的文本内容
        string name = this.TextBox1.Text.Trim();
        string pwd = this.TextBox2.Text.Trim();
        //获取列表控件中索引项最小的内容
        string sex = this.DropDownList1.SelectedItem.Text.Trim();
        string realname = this.TextBox4.Text.Trim();

        string mobiletel = this.TextBox7.Text.Trim();
        string email = this.TextBox8.Text.Trim();
        string address = this.TextBox5.Text.Trim();
        string code = this.TextBox6.Text.Trim();
        string age = this.TextBox9.Text.Trim();
        string sql1 = "update TB_Member set MemberName= '" + name + "',MemberPwd='" + pwd + "',Sex='" + sex + "',Age='" + age + "',RealName='" + realname + "',Address='" + address + "',Code='" + code + "',MobileTel='" + mobiletel + "'" + ",Email='" + email + "' where MemberID=" + Convert.ToInt32(Session["MemberID"]);

        bool b = DBHelper.ExecSql(sql1);
        if (b)
        {
            GetUserInfo();
            Response.Write("<script language='javascript'>alert('修改成功!');location='javascript:history.go(-1)';</script>");


        }
        else
        {
            Response.Write("<script language='javascript'>alert('修改失败!');location='javascript:history.go(-1)';</script>");
        }
 
 

[解决办法]


 string sql = "select * from TB_Member where MemberName = " + Session["MemberName"];

where MemberName = '" + Session["MemberName"] + "'";

热点排行