日期:2014-05-18  浏览次数:20546 次

Session赋值问题
这是我做的一个登录界面,当用户名为数字时没有问题,但是为字符时会报错该字符 列名无效“列名‘ttt’无效”问题似乎就出在这条语句上
Session["CurrentValue"] = lusername.Text;


如果用数字用户名登陆成功,但是数据库中存在有字符用户名时
在后面的一个界面会报另一个错误  
“在将 nvarchar 值 'ttt ' 转换成数据类型 int 时失败”登录界面代码
 
protected void Button1_Click(object sender, EventArgs e)
  {
  if (Page.IsValid)
  {
  String ConnectString = "server=(local);database=alpha;trusted_Connection=yes";
  SqlConnection conn = new SqlConnection(ConnectString);
  SqlCommand command = new SqlCommand("select * from login where username='" + lusername.Text+ " ' and password='" + lpassword.Text+ " '", conn);

  conn.Open();
  SqlDataReader read = command.ExecuteReader();
  if (read.Read())
  {
  Session["CurrentValue"] = lusername.Text; Response.Redirect("main.aspx");

  }
  else
  {
  Response.Write("登陆失败");
  }
   
  }

  }

------解决方案--------------------
你数据库里用户名这个列难道设置的是数字类型?
应该不是吧,因为你也有字符用户名。

数据库这个列换个类型试试
------解决方案--------------------
username在数据库中是integer类型了。
------解决方案--------------------
查询表名加上[login] login是关键字 LZ表命名很不规范
------解决方案--------------------
数据库表中是不是定义为int型啦,检查下
------解决方案--------------------
调试一下,看看值是什么
检查数据库数据类型
------解决方案--------------------
类型··
------解决方案--------------------
后面另一个界面报另一个错误什么意思?