首页 > 叽歪生活 > ADO.NET 2.0 快速入门2

ADO.NET 2.0 快速入门2

1.Command对象的作用:

用于对数据库发出SQL命令,从而执行添加、修改、删除等操作;

2.Comman对象的两个主要方法:

ExecuteNonQuery方法:执行命令并返回受影响的行数;

ExecuteReader方法:执行命令并返回生成的DataReader;

3.DataReader对象的作用?

返回一个来自数据命令的只读、只进的数据流;

语法:SqlCommand 对象名=new SqlCommand(“SQL语句”,Connection实例化对象)

4.使用Command与DataReader的数据操作实例:

protected void Page_Load(object sender, EventArgs e)
{
SqlConnection Conn = new SqlConnection(“Server=LocalHost;Integrated Security=SSPI;Database=test”);
Conn.Open();
//增加数据
SqlCommand Insert = new SqlCommand(“insert into students(name,sex) values (‘小赵’,'男’)”, Conn);
Insert.ExecuteNonQuery();

//查询数据
SqlCommand Comm = new SqlCommand(“select * from students”,Conn);
SqlDataReader Da1 = Comm.ExecuteReader();
while(Da1.Read())
{
Response.Write(Da1["id"]);
Response.Write(Da1["name"]);
Response.Write(Da1["sex"]);
Response.Write(”
“);
}
Da1.Close();

//更新数据
SqlCommand update = new SqlCommand(“update students set name=’小王’,sex=’女’ where name=’小赵’”, Conn);
update.ExecuteNonQuery();
//查询数据
SqlDataReader Da2=Comm.ExecuteReader();
while(Da2.Read())
{
Response.Write(Da2["id"]);
Response.Write(Da2["name"]);
Response.Write(Da2["sex"]);
Response.Write(”
“);
}
Da2.Close();

//删除数据
SqlCommand delete = new SqlCommand(“delete from students where name=’小王’”, Conn);
delete.ExecuteNonQuery();
Response.Write(“数据已经被删除”);

Conn.Close();
}

 

5.什么是DataSet?

数据集(DataSet)是独立于数据存储区且与之不同的数据结构,是一种代表关系数据的内存驻留结构;

6.为什么要使用DataSet?

将数据库读到数据集,从而进行无连接的操作;

7.关于DataSet

DataSet包含DataTable,相当于数据库中的表,每个DataTable中又包括DataRow(行)和DataColumn(列),分别代表数据库中表的行和列。

8.什么是DataAdapter对象?

DataAdapter对象在源数据与DataSet之间起到了桥梁的作用;

9.DataAdapter的只要作用

DataAdapter对象会填充DataSet对象中的表,而且能读取缓存的更改并将其提交给数据库。

10.DataAdapter对象的两个主要方法:

Fill方法:填充数据集

Update方法:向数据库提交存储在DataSet中的更改。

实例操练:

protected void Page_Load(object sender, EventArgs e)
{
String myConn = System.Configuration.ConfigurationManager.ConnectionStrings["testStr"].ToString();
SqlConnection Conn = new SqlConnection(myConn);
Conn.Open();

SqlDataAdapter Da = new SqlDataAdapter(“select * from students”,Conn);
DataSet Ds = new DataSet();

Da.Fill(Ds, “info”);//填充DataSet
if (Ds.Tables[0].Rows.Count==0)
{
Response.Write(“数据库中无数据”);
}
else
{
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
{
Response.Write(Ds.Tables[0].Rows[i]["name"]);
Response.Write(Ds.Tables[0].Rows[i]["sex"]);
Response.Write(”
“);
}
}

Conn.Close();
}

10.Update方法的原理

使用Update方法自动遍历DataTable中所有行,以检查需要对数据库做出的变动,它为每一个发生的更改的行调用Insert、Update或Delete命令;

11.SqlCommandBuilder类:自动生成单表命令并与SqlDataAdapter相关联

12.DataTAble Rows集合的三个常用的方法

Find方法:检索行

Add方法:创建行

Delete方法:删除行

13.实例操作:

protected void Page_Load(object sender, EventArgs e)
{
String myConn = System.Configuration.ConfigurationManager.ConnectionStrings["testStr"].ToString();
SqlConnection Conn = new SqlConnection(myConn);
Conn.Open();

SqlDataAdapter Da = new SqlDataAdapter(“select * from students”,Conn);
SqlCommandBuilder Cb = new SqlCommandBuilder(Da);//生成SQL命令并与SqlDataAdapter关联
DataSet Ds = new DataSet();
Da.Fill(Ds, “info”);//填充DataSet

//添加数据
DataRow dr = Ds.Tables["info"].NewRow();
dr["name"] = “美女”
dr["sex"] = “女”
Ds.Tables["info"].Rows.Add(dr);

//修改数据
Response.Write(“修改之前的数据为” + Ds.Tables["info"].Rows[0]["name"] + Ds.Tables["info"].Rows[0]["sex"]);
Response.Write(”
“);
Ds.Tables["info"].Rows[0]["name"]=”赵王”
Ds.Tables["info"].Rows[0][2]=”女”
Response.Write(“修改之后的数据为” + Ds.Tables["info"].Rows[0]["name"] + Ds.Tables["info"].Rows[0]["sex"]);
Response.Write(”
“);
//删除数据
Ds.Tables["info"].Rows[0].Delete();
Da.Update(Ds, “info”);
Response.Write(“数据已经被删除”);
Conn.Close();

}

转载请标明出处:萝卜根

原文地址请标明:原文地址

分类: 叽歪生活 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*

:yund: :yun: :yes: :xiaxia: :xiaom: :xiaohan: :wuyu: :wuxiao: :woshou: :woquan: :wink: :tiaodou: :tiaod: :sikao: :pa: :oops: :ok: :no: :mad: :lihai: :leihua: :lei: :ku: :konghe: :kbu: :jiwai: :jiong: :jiay: :huo: :huaixiao: :hanxiao: :han: :haha: :guolai: :guan: :guai: :ganga: :eek: :dou: :diao: :deng: :buli: :bizui: :bishi: :biggrin: :arrow: