如何从数据库varchar转换为bigint时出错,求兄弟姐妹们解答?(语言-c#)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace ConsoleApplication1.Manong
{
class Query2
{
static void Main()
{
//输入用户名和密码
Console.WriteLine("请输入用户名:");
string UserName = Console.ReadLine();
Console.WriteLine("请输入密码:");
string UserPassword = Console.ReadLine();

        //测试连接数据库
        string conn = "Data Source=.;Initial Catalog=QQ;User ID=sa; Password =*****";
        SqlConnection connection = new SqlConnection(conn);
        connection.Open();
        Console.WriteLine("打开数据库成功");

        //执行操作
        //执行查找密码操作QQID={0}通过UserName代替,并通过string.Format对结果格式化
        string sql = string.Format("SELECT PassWord FROM QQUser WHERE QQID='{0}'",UserName);
        SqlCommand cmds = new SqlCommand(sql, connection);
        string Password = (string)cmds.ExecuteScalar();

        //判断
        if (UserName != null)
        {
            if (UserPassword == Password)
            {
                Console.WriteLine("登录成功");
            }
            else 
            {
                Console.WriteLine("密码错误,登录失败");
            }
        }
        else 
        {
            Console.WriteLine("账号不存在");
        }

        connection.Close();
        Console.WriteLine("关闭数据库成功");
    }
}

}

img

0通过UserName代替,并通过string.Format对结果格式化
nat(SELECT PassWord FROM QQUser WHEREQQID=O}°”,UserName);
1Command(sqlconnection);
                                                          田O connectionl(System.Data.SqIClient.SqIConnection
ng)cmds.ExecuteScalarO:
                                                未处理SqlException
                                                 从数据类型varchar转换为bigint时出错
                                                 疑难解答提示:
                                                   THVIH 常的常规帮助
  Password
ine(”登录成功”);
                                                 搜索更多联机帮助
                                                  异常设置:
                                                      引发此异常类型时中断
ine(密码错误,登录失败”); 操作:
                                                 查看详细信息
                                                  将异常详细信息复制到剪贴板
                                                  打开异常设置
(账号不存在):
闭数据库成功”)

img

可能发生问题描述的场景:

你的QQID字段是bigint类型,但你在控制台输入的不是纯数字。
比如你输入的是:1236D89或者1236.9,这样,你的SQL语句将是:

SELECT PassWord FROM QQUser WHERE QQID='1236D89'

显然,执行SQL语句时将抛出你问题描述中的错误。