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("关闭数据库成功");
}
}
}
0通过UserName代替,并通过string.Format对结果格式化
nat(SELECT PassWord FROM QQUser WHEREQQID=O}°”,UserName);
1Command(sql,connection);
田O connectionl(System.Data.SqIClient.SqIConnection
ng)cmds.ExecuteScalarO:
未处理SqlException
从数据类型varchar转换为bigint时出错
疑难解答提示:
THVIH 常的常规帮助
Password
ine(”登录成功”);
搜索更多联机帮助
异常设置:
引发此异常类型时中断
ine(密码错误,登录失败”); 操作:
查看详细信息
将异常详细信息复制到剪贴板
打开异常设置
(账号不存在):
闭数据库成功”)
可能发生问题描述的场景:
你的QQID
字段是bigint
类型,但你在控制台输入的不是纯数字。
比如你输入的是:1236D89
或者1236.9
,这样,你的SQL语句将是:
SELECT PassWord FROM QQUser WHERE QQID='1236D89'
显然,执行SQL语句时将抛出你问题描述中的错误。