求解 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>
</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>");
}