ADO.NET C#

关注我,为您分享C#技术实现,感谢点赞及收藏、转发

概述

1.它是.NET编程环境中优先使用的数据访问接口

2.ADO.NET传送的数据都是xml格式的

3.ADO.NET是一组用于和数据源进行交互的面向对象类库

4.数据源:通常是各种数据库,但文本文件、Excel表格和XML这类文件也可以读取

5.ADO.NET为不同数据源提供不同的支持类库,我们称之为Data Providers

一、 C# 访问数据库

1.必须导入包含适当的ADO.NET类的名称空间。

2.获取具体的数据库连接字符串。

3.实例化Connection对象,并建立、打开链接。

4.使用Command对象,从数据库存取器中读取数据或向数据存取器中写入数据,或是执行SQL语句。

5.关闭连接

代码示例:

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

/// <summary>

/// 窗体加载

/// </summary>

/// <param name=" sender "></param>

/// <param name=" e "></param>

private void Form1_Load( object sender, EventArgs e)

{

//确定数据库连接字符串

string constr = "server=127.0.0.1;databse=Zzdb;uid=sa;pwd=123456" ;

//实例化数据库连接对象

SqlConnection conn = new SqlConnection(constr);

//打开数据库连接

conn.Open();

//实例化SqlCommand对象(该对象主要用来执行sql语句)

SqlCommand cmd = new SqlCommand();

cmd.CommandText = "select id,name from classify" ;

//确定上面为CommandText属性所赋的值到底是sql语句还是存储过程名称

cmd.CommandType = CommandType.Text;

//指定该命令所用的数据库连接

cmd.Connection = conn;

//申明一个SqlDataReader(数据流)对象,并将cmd执行后的结果交给它

SqlDataReader sdr = cmd.ExecuteReader();

//循环整个SqlDataReader对象,将里面的值取出来添加到ListBox中

//sdr.Read()的作用是前进到下一条记录,这也说明SqlDataReader中的数据是一行行放置的

while (sdr.Read())

{

////将数据流中的第一列的值添加到comboBox1的项中

comboBox1.Items.Add(sdr[0] + "-->" + sdr[ "name" ]);

////上面这句也可以用下面这句代替,sdr["name"]表示当前sdr的name列的值

/// listbox1.items.Add(sdr["name"]);

}

//关闭数据流对象

sdr.Close();

//关闭数据库连接

conn.Close();

}

private void button1_Click( object sender, EventArgs e)

{

//确定数据库连接字符串

string constr = "server=127.0.0.1;databse=Zzdb;uid=sa;pwd=123456" ;

//实例化数据库连接对象

SqlConnection conn = new SqlConnection(constr);

//打开数据库连接

conn.Open();

int i = comboBox1.Text.IndexOf( "-->" ); //获取字符串中-->所在位置索引

string id = comboBox1.Text.Substring(0,i); //只获取-->之前的字符

//实例化SqlCommand对象(该对象主要用来执行sql语句)

SqlCommand cmd = new SqlCommand();

cmd.CommandText = "select * from product where cid =" +id;

//确定上面为CommandText属性所赋的值到底是sql语句还是存储过程名称

cmd.CommandType = CommandType.Text;

//指定该命令所用的数据库连接

cmd.Connection = conn;

//申明一个SqlDataReader(数据流)对象,并将cmd执行后的结果交给它

SqlDataReader sdr = cmd.ExecuteReader();

//清空listbox1中的项

listBox1.Items.Clear();

while (sdr.Read())

{

//将数据流中的第一列的值添加到listbox1的项中

listBox1.Items.Add(sdr[ "name" ]);

//上面这句也可以用下面这句代替,sdr["name"]表示当前sdr的name列的值

//lisbox1.Items.Add(sdr["name"]);

}

//关闭数据流对象

sdr.Close();

//关闭数据库连接

conn.Close();

}

}

ADO.NETC#