问题
声明
这个问题出现的频率大,但是解决办法是有些出入的。今天找了很多篇博客,方案都差不多,大多是重启、设置为server身份验证、启动服务等操作,但是都没能解决我的问题。下面总结一下可能用到的步骤。
解决
一、看一下是否为server身份验证
二、 如果是,检查是否服务器身份验证是下图所示
1、
2、安全性-用户名-sa-右击-属性-状态
看是否授予了允许连接
三、如果前面的设置都一样,则启动服务↓
打开服务
方法一:
快捷键:Window+R 打开命令,输入services.msc
方法二:
控制面板-系统和安全-管理工具-服务
启动服务
1、找到红色框内的服务
2、右击属性
3、启动类型为自动
4、确定
5、右击选中红色框内的Browser服务——启动
6、重新启动SQLEXPRESS
更改数据库连接方式,修改密码
如果到这里还没有解决问题,那么更改数据库连接方式,改成windows身份验证。接着重新用server身份验证再次连接一下数据库。将要连接的登陆名sa修改下密码,修改完成,断开连接再次登陆
后记
被这个可恶的问题卡了好久,不过说来说去还是这几个毛病。实行不行,就试试重启电脑吧。没准电脑一觉醒来,就能连接了~
代码Demo部分
using SqlSugar;
using SqlSugarTest.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugarTest.Common
{
public static class SqlSugarhelper
{
public static SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "server=(local);uid=sa;pwd=123;database=SqlSugar4XTest",
DbType = DbType.SqlServer,//设置数据库类型
IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
});
public static void Test()
{
try
{
//用来打印Sql方便你调试
db.Aop.OnLogExecuting = (sql, pars) =>
{
Console.WriteLine(sql + "\r\n" +
db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
Console.WriteLine();
};
/*查询*/
var list = db.Queryable<StudentModel>().ToList();//查询所有
var getById = db.Queryable<StudentModel>().InSingle(1);//根据主键查询
var getByWhere = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToList();//根据条件查询
var total = 0;
var getPage = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToPageList(1, 2, ref total);//根据分页查询
//多表查询用法 http://www.codeisbug.com/Doc/8/1124
/*插入*/
var data = new Student() { Id = 8, Name = "nihao" };
db.Insertable(data).ExecuteCommand();
//更多插入用法 http://www.codeisbug.com/Doc/8/1130
/*更新*/
var data2 = new Student() { Id = 5, Name = "nihao" };
//db.Updateable(data2).ExecuteCommand();
db.Updateable<Student>(new Student { Name = "异火" })
.UpdateColumns(s => s.Name)
.Where(s => s.Id == 5)
.ExecuteCommand();
//更多更新用法 http://www.codeisbug.com/Doc/8/1129
/*删除*/
db.Deleteable<StudentModel>(1).ExecuteCommand();
}
catch (Exception ex)
{
}
}
}
public class Student
{
public String Name { get; set; }
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
}
}
ORM Model代码
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugarTest.Model
{
//如果实体类名称和表名不一致可以加上SugarTable特性指定表名
[SugarTable("Student")]
public class StudentModel
{
//指定主键和自增列,当然数据库中也要设置主键和自增列才会有效
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
}
}