Min_Feng
_Feng_Nain
采纳率100%
2020-03-08 17:37

C#在做的注册"英文"用户名varchar无法转换int,求大佬,是我那个环节出现问题?

在做的注册"英文"用户名varchar无法转换int
System.Data.SqlClient.SqlException:“在将 varchar 值 'asdxzc' 转换成数据类型 int 时失败。”
代码:
SqlCommand cmd = new SqlCommand(@"select userId from userInfo where userId='" + Text_Name.Text + "'", conn);//在数据库中查找userName表中的的name字段数据
conn.Open();
string Flag = Convert.ToString(cmd.ExecuteScalar());

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • 2004wave 2004wave 1年前

    SqlCommand cmd = new SqlCommand(@"select userId from userInfo where userId='" + Text_Name.Text + "'", conn);//在数据库中查找userName表中的的name字段数据

    应该是 查询用错字段了,查询用户名 是 userNmae字段把,userId是 用户ID、数据库是int类型的吧
    修改成:
    SqlCommand cmd = new SqlCommand(@"select userNmae from userInfo where userNmae='" + Text_Name.Text + "'", conn);

    点赞 1 评论 复制链接分享
  • weixin_45529822 王氏八旺 1年前

    楼上说的对啊,
    1.你数据库看下这个userid的数据类型
    2.断点把SQL拿出来到数据库跑一次就知道了

    点赞 1 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前

    userId不是一个整数,是asdxzc

    点赞 1 评论 复制链接分享