理论知识
使用ADO.NET(ActiveX Data Objects)可以减少不同数据库系统带来的琐碎事情。
ADO.NET是一组公开数据访问服务的类。
主要组成:
- .NET 数据提供程序:可以实现数据操作和对数据的快速,只进只读访问。
- DataSet (数据集):ADO.NET的断开式结构的核心组件。
.NET 数据提供程序的四大核心对象:
- Connection对象:用于开启程序和数据库之间的连接。
- Command对象:用于对数据库发出一些操作指令。列如:增删查改
- DataAdapter对象:在数据源和DataSet之间执行数据传输工作。在Command对象下达命令后将返回的数据放入DataSet(数据集)中。
- DataReader对象:当只需逐一读取数据而不需要其他操作时,可以使用该对象,该对象每次只从数据源中提取一条记录。
实际操作
要连接数据库的话需要导入一个类:
System.Data.SqlClient;
如果要实现下面代码中的if判断效果还要导入类:
System.Data;
需要注意的话都写在注释里了,自己去看吧:
static void Main(string[] args)
{
Console.WriteLine("请输入你要连接的数据库名:");
string sqlName = Console.ReadLine();
//第一步创建SqlConnection对象,第二步输入输入连接的字符串,
//也可以把字符串写在外面,把字符串赋给该类里面ConnectionString的字段
//连接数据库的字符串 大小写可以
SqlConnection con = new SqlConnection($"server=.;database={sqlName};Uid=sa;pwd=zx20040825");
#region
//State这个是调用ConnectionState类中的SqlConnection类里面的一个字段,
//表示最近在连接上执行网络操作时表示SqlConnection的状态,返回结果是一个ConnectionState枚举
//当连接关闭时,Closed返回的时0,
#endregion
if (con.State == ConnectionState.Closed)
{
//第三步用该类提供Open()方法连接到数据库
con.Open();
Console.WriteLine("连接成功。");
}
else
{
Console.WriteLine("此数据库已连接。");
//Close()方法用于关闭数据库的连接
con.Close();
Console.WriteLine("已自动断开数据库。");
}
Console.ReadLine();
}
注意:不同的数据库连接字符串,其格式不同。
SQL Server数据库的连接字符串的一般格式如下,
语法:Data Source(server)=服务器名称或IP地址;Initial Catalog(database)=数据库名;User ID(Uid)=用户名;pwd=密码
如果你的用Windows身份登入,那么用户名和密码不用写,加上:trusted_connection=SSPI
扩展知识
1.NET数据提供程序包含用于访问各种数据源的数据对象,使用这些数据处理程序可以对数据库中的数据进行查询,更新,修改等操作。目前,有4种类型的.NET数据提供程序。
.NET 数据提供程序 | 连接类 | 命名空间 |
---|---|---|
SQL Server 数据提供程序 | SqlConnection | System.Data.SqlClient |
OLE DB 数据提供程序 | OleDbConnection | System.Data.OleDb |
ODBC 数据提供程序 | OdbcConnection | System.Data.Odbc |
Oracle 数据提供程序 | OracleConnection | System.Data.Client |