为了账号安全,请及时绑定邮箱和手机立即绑定

运行到(SqlDataReader reader = cmd.ExecuteReader())时报错

运行到(SqlDataReader reader = cmd.ExecuteReader())时报错

慕后森 2022-04-08 11:07:08
class Program{static void Main(string[] args){Console.WriteLine("请输入用户名:");string admin = Console.ReadLine();Console.WriteLine("请输入密码:");string password = Console.ReadLine();using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True")){conn.Open();using (SqlCommand cmd = conn.CreateCommand()){cmd.CommandText = "slect * Table1 where name='"+admin+"'";using (SqlDataReader reader = cmd.ExecuteReader()){if (reader.Read()){string pw = reader.GetString(reader.GetOrdinal("Password"));if (password == pw){Console.WriteLine("登陆成功!");}else{Console.WriteLine("密码错误!");}}else{Console.WriteLine("用户名不存在!");}}}}Console.WriteLine("OK");Console.ReadKey();}}}运行到using (SqlDataReader reader = cmd.ExecuteReader())时报语法错误,未处理Sqlexception请问高手怎么解决,谢谢我把cmd.ExecuteReader()插到错误语句前面,程序运行到这句的时候就会提前报错,错误与前面一致把鼠标放在上面的时候下面会显示:异常System.Data.SqlClient.SqlExceptionSystem.InvalidOperationException不知道为什么,谢谢
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

cmd.CommandText = "slect * Table1 where name='"+admin+"'";
SQL语句好像写错了,改为:cmd.CommandText = "select * from Table1 where name='"+admin+"'";

查看完整回答
反对 回复 2022-04-11
?
aluckdog

TA贡献1847条经验 获得超7个赞

多个对象使用using,必须要先声明对象,然后再使用,你现在using外面声明一下要用的对象,试试看

查看完整回答
反对 回复 2022-04-11
  • 2 回答
  • 0 关注
  • 476 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信