黑马程序员-003ADO.NET五个主要对象

来源:互联网 发布:snapseed软件下载 编辑:程序博客网 时间:2024/05/18 21:49

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! --------------------------------------------

ADO.NET五个主要对象

         ADO.NET的五个主要对象:connection /command/dataadapter/dataset/datareader

使用ADO.NET时首先引入数据库程序集:using System.Data.SqlClient;

 

//要调用数据库的数据,先创建连接

using (SqlConnection 连接名 =newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=

|DataDirectory|\用户名.mdf;Integrated Security=True;User Instance=True"))

{

//打开连接

      连接名.Open();

       //连接创建后,创建命令

      using (SqlCommand 命令名 =连接名.CreateCommand())

      {

             //声明命令的语句

命令名.CommandText = "命令语句";

为防止形成歧义,造成注入漏洞攻击,需要在value中声明一个“‘@’+新变量名”代替变量名

             命令名.Parameters.Add(newSqlParameter("value@新变量名",变量名));

             //执行SQL命令语句并产生影响,另外要对数据库产生影响,需要在主函数中添加一段代码,让程序去连接项目中的mdf文件,而不是连接bin/Debug下那个。

 

             cmd.ExecuteNonQuery();

 

        }

      }

    //主函数中所需添加的代码

string dataDir = AppDomain.CurrentDomain.BaseDirectory;

    if (dataDir.EndsWith(@"\bin\Debug\")|| dataDir.EndsWith(@"\bin\Release\"))

    {

         dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

         AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);

}

 

 

//如果命令是读取某一条数据,我们就需要判断数据是否存在,此时要使用datareader:

using (SqlDataReader 读取名 = cmd.ExecuteReader())

{

//判断数据是否存在,即能否读取到

     if (读取名.Read())

{

    //程序代码

}

else

{

    //程序代码

}  

    }

 

Datareader相当于放了一个游标在数据库中,直接从数据库中调用语句,优点是不会增加内存占用,缺点是一旦程序断开,就会失去作用,小数量数据时会增加麻烦,所以就引入了datasetdataadapter,将数据一次性从数据库中读取出来:

    //创建DataSet实例

         DataSet dataset名 = newDataSet();

    //创建dataadapter实例并与命令衔接

SqlDataAdapter dataadapter名 = new SqlDataAdapter(命令);

//将dataadapter得到的数据填充入dataset中

dataadapter名.Fill(dataset名);

实例化datatable从data中获取数据

DataTable 表名=dataset名.Tables[];

最后从datatable表中读取数据并引用。

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! --------------------------------------------

原创粉丝点击