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

虚心请教C#sql连接,未将对象引用设置到对象的实例 刚学代码有点乱,别见怪

虚心请教C#sql连接,未将对象引用设置到对象的实例 刚学代码有点乱,别见怪

牧羊人nacy 2018-12-07 10:30:12
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace ConsoleApplication1{ class DBOperation { private static string conn = "Data Source=.;Initial Catalog=qq;Integrated Security=True"; //User ID=sa;Password=123456";如果Password为空,可以不写 public static SqlConnection con = new SqlConnection(conn); string strMsg=""; #region 异常处理 public void Conn() { try { //打开数据库 con.Open(); CheckUserInFo(); Console.WriteLine("打开成功"); Console.WriteLine(strMsg); } catch (Exception ex) { Console.WriteLine("异常:{0}", ex.Message); } finally { //关闭数据 con.Close(); Console.WriteLine("关闭成功"); Console.ReadLine(); } } #endregion #region public string CheckUserInFo() { Console.Write("请输入QQ号:"); int ID = int.Parse(Console.ReadLine()); Console.Write("请输入密码:"); string pwd = Console.ReadLine(); string sql =string.Format("select QQid,password from qquser where qqid={0} and password={1}",ID,pwd); SqlCommand com = new SqlCommand(sql,con); int i = (int)com.ExecuteScalar(); if (i != 1) { strMsg = "输入错误"; return strMsg; } else { strMsg = "登陆成功"; return strMsg; } } #endregion }}
查看完整描述

7 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

确实很乱啊,你调试下到哪报错了。

查看完整回答
反对 回复 2019-01-21
?
Helenr

TA贡献1780条经验 获得超4个赞

int i = (int)com.ExecuteScalar();

单步调试,这句执行完就报错了
查看完整回答
反对 回复 2019-01-21
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

楼上的说的对,应该供ExecuteNonQuery()方法,返回实体类类型

查看完整回答
反对 回复 2019-01-21
?
holdtom

TA贡献1805条经验 获得超10个赞

password是sql的关键字来的,你用[]把它给括起来,然后的话,你的查询条件是两个字符窜,在sql里面的话要用单引号筐住

查看完整回答
反对 回复 2019-01-21
?
LEATH

TA贡献1936条经验 获得超6个赞

你多对这个方法不熟悉 ExecuteScalar(),他的意思是返回第一行第一列的值,所以你在查询的时候count(0) 查看该登录名和密码是否在数据库中存在...

查看完整回答
反对 回复 2019-01-21
  • 7 回答
  • 0 关注
  • 673 浏览

添加回答

举报

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