在C#中ADO.NET技术提供了对数据源的访问,ADO.NET是一个类库,包含了Conection 对象、Comand对象、DataReader对象、DataSet对象、DataAdapter对象5个对象,用于和不同种类的数据源进行交互
其中Connection用于和数据库建立连接,Command用于执行SQL命令,DataSet对象在于实现独立的数据访问技术,DataReader对象用于从数据源中获取数据流,DataAdapter对象用于连接DataSet对象和数据源
连接一个数据库
在SQL server 2012中新建数据库mydb,新建数据库表admin
create table admin
(
id int,
name nvarchar(20)
)
利用Connection对象连接SQL Server 2008数据库,在VS Studio2010中新建一个C#窗口程序,代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace Li_917
{
class Program
{
static void Main(string[] args)
{
//定义数据库 连接字符串(包含了数据库信息)
String strConn = "Server=127.0.0.1;Database=mydb;uid =sa;PWD=sa";
//创建Conection对象
SqlConnection conn = new SqlConnection(strConn);
//打开连接
conn.Open();
Console.WriteLine("数据库连接成功");
conn.close();
}
}
}
查
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace _917
{
class Program
{
static void Main(string[] args)
{
String strConn = "Server=127.0.0.1;Database=mydb;user id =sa;PWD=sa";
//使用Conection对象连接数据库
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
String str = "select * from admin";
//使用SqlCommand执行Sql语句
SqlCommand cmd = new SqlCommand(str,conn);
//SqlDataReader对象从数据源获取数据
SqlDataReader dr = cmd.ExecuteReader();
//判断是否含有数据
if (dr.HasRows)
{
//Read方法使DataReader对象前进到下一条记录
while (dr.Read())
{
Console.WriteLine(dr[1].ToString());
}
}
dr.Close();
}
}
}
增
和查询不一样的是,增加数据的时候SqlCommand对象调用的是ExecuteNonQuery()方法
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace _917
{
class Program
{
static void Main(string[] args)
{
String strConn = "Server=127.0.0.1;Database=mydb;user id =sa;PWD=sa";
//使用Conection对象连接数据库
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
String str = "insert into admin (name) values ('菲菲')";
//使用SqlCommand执行Sql语句
SqlCommand cmd = new SqlCommand(str,conn);
cmd.ExecuteNonQuery();
Console.WriteLine("增加数据成功");
conn.Close();
}
}
}
增、删、改是一样的只是上面的SQL语句不同
每天学习一点,进步一点,日后将汇聚成汪洋大海