• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我的学习笔记
   首页       联系   管理    订阅  订阅

ADO.NET

1、什么是ADO.NET? ADO.NET是一组用于和数据源进行交互的面向对象类库 2、ADO.NET主要对象有哪些? Connection:用于连接到数据库和管理对数据库的事务 Command:用于对数据库发出SQL命令 DataReader:用于从数据源读取只进数据记录流 DataSet:用于对表单数据、XML数据和关系数据进行存储、远程处理和编程 DataAdapter:用于将数据推入DataSet,并使数据和数据库保持一致
1、什么是ADO.NET?
     ADO.NET是一组用于和数据源进行交互的面向对象类库
2、ADO.NET主要对象有哪些?
    
Connection:用于连接到数据库和管理对数据库的事务
     Command:用于对数据库发出SQL命令
     DataReader:用于从数据源读取只进数据记录流
     DataSet:用于对表单数据、XML数据和关系数据进行存储、远程处理和编程
     DataAdapter:用于将数据推入DataSet,并使数据和数据库保持一致 
3、Connection对象
         访问数据库首先就要建立到操作对象的连接,这就是Connection对象,通常用的访问SQLServer的叫SqlConnection类,访问其他的叫OledbConnection类,如:Access,Oracle
         Connection对象有两个方法:Open()和Close()
         语法:
               
Data Sourse=(local);Initial Catalog=数据库名;Integrated Security=True;Persist Security Info=True;User ID=用户名;Password=密码
                Integrated Security(集成安全)
                Persist Security Info(保持安全信息)
public partial class ADO_connectin : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
string connstr = System.Configuration.ConfigurationManager.ConnectionStrings["pubconn"].ToString();
        SqlConnection mystr 
= new SqlConnection(connstr);
        
//方法二:SqlConnection mystr = new SqlConnection("Data Source=.;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=123");
        
//方法三:SqlConnection mystr = new SqlConnection();
        
//        mystr.ConnectionString = ConfigurationManager.ConnectionStrings["pubconn"].ToString();
        try
        
{
            mystr.Open();
          
           Response.Write(
"<script language='javascript'>alert('连接数据库成功')</script>");
            mystr.Close();
            Label1.Text 
= "数据库已经关闭";
        }

        
catch
        
{
            Response.Write(
"<script language='javascript'>alert('连接数据库失败')</script>");
        }

    }

}
4、Command、DataReader对象
       1、Command对象的作用?
            用于对数据库发出SQL命令,从而执行添加,修改,删除等操作
       2、Command对象两个主要方法
            ExecuteNonQueryfang方法:执行命令并返回受影响的行数
            ExecuteReader方法:执行命令并返回生成的DataReader
       3、DataReader对象作用?
            返回一个来自数据命令的只读,只进的数据流
       4、语法
            SqlCommand 对象名=new SqlCommand("SQL语句",Connection实例化对象);
protected void Page_Load(object sender, EventArgs e)
    
{
        
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["pubconn"].ToString();
        SqlConnection mystr 
= new SqlConnection(constr);
        mystr.Open();

        
//添加数据
        SqlCommand Insert = new SqlCommand("Insert student (id,name,sex) values ('056','李明','男')", mystr);
        Insert.ExecuteNonQuery();

        
//查询数据
        SqlCommand cmd = new SqlCommand("select * from student", mystr);
        SqlDataReader dr1 
= cmd.ExecuteReader();
        
while (dr1.Read())
        
{
            Response.Write(dr1[
"id"]);
            Response.Write(dr1[
"name"]);
            Response.Write(dr1[
"sex"]);
            Response.Write(
"<br>");
        }

       dr1.Close();

        
//修改数据
        SqlCommand updata=new SqlCommand("update student set name='王晓龙',id='098' where name='李明'",mystr);
        updata.ExecuteNonQuery();

        
//查询数据
        SqlDataReader dr2 = cmd.ExecuteReader();
        
while (dr2.Read())
        
{
            Response.Write(dr2[
"id"]);
            Response.Write(dr2[
"name"]);
            Response.Write(
"<br>");
        }

        dr2.Close();

        
//删除数据
        SqlCommand delect = new SqlCommand("delete from student where name='王晓龙'", mystr);
        delect.ExecuteNonQuery();
        Response.Write(
"数据删除成功");
        mystr.Close();

    }

5、DataSet对象
      1、什么是DataSet
           数据集(DataSet)是独立于数据存储区且与之不同的数据结构,是一种代表关系数据的内存驻留结构
      2、为什么要使用DataSet?
           将数据库读到数据集,从而进行无连接的操作
      3、 关于DataSet
           DataSet是ADO.NET中关键对象,所有复杂的操作都要使用它。DataSet包含一组相关的DataTable对象,代表要使用的数据库表,每一个DataTable对象都有子DataRow和DataColumn对象,分别代表数据库的行和列。通过这些对象,可以获取表,行和列的所有元素。
6、DataAdapter
      1、什么是DataAdapter对象?、
          DataAdapter对象充当数据库和ADO.NET对象模型中断开连接的对象之间的桥梁
          DataAdapter对象在DataSet与源数据之间起到桥梁的作用。
      2、DataAdapter的主要作用
          DataAdapter对象会填充DataSet对象中的表,而且能读取缓存的更改并将其提交给数据库
      3、DataAdapter对象的两个主要方法
  
        Fill方法:填充数据集
          Updata方法:向数据库提交存储在DataSet中的更改
   protected void Page_Load(object sender, EventArgs e)
    
{
        
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["pubconn"].ToString();
        SqlConnection mystr 
= new SqlConnection(constr);
        mystr.Open();
        SqlDataAdapter da 
= new SqlDataAdapter("select * from student", mystr);
        DataSet ds 
= new DataSet();
        da.Fill(ds, 
"student");
        
if (ds.Tables[0].Rows.Count == 0)
        
{
            Response.Write(
"数据库中无数据");
        }

        
else
        
{
            
for (int i = 0; i < ds.Tables["student"].Rows.Count; i++)
            
{
                Response.Write(ds.Tables[
"student"].Rows[i][1]);
                Response.Write(ds.Tables[
0].Rows[i]["sex"]);
                Response.Write(
"<br>");
            }

        }

        mystr.Close();
    }
7、SqlCommandBuilder类
     SqlCommandBuilder类:自动生成单表命令,在更新单一表的简单情况下,我们不需要知道如何编写SQL语句以完成更新。
8、DataTableRows集合的三个常用方法
     Fill方法: 检索行
     Add方法: 创建行
     Delete方法: 删除行


 protected void Page_Load(object sender, EventArgs e)
    
{
        
string str = System.Configuration.ConfigurationManager.ConnectionStrings["pubconn"].ToString();
        SqlConnection mystr 
= new SqlConnection(str);
        mystr.Open();
        SqlDataAdapter da 
= new SqlDataAdapter("select * from student", mystr);
        SqlCommandBuilder cb 
= new SqlCommandBuilder(da);
        DataSet ds 
= new DataSet();
        da.Fill(ds,
"student");

        
//添加数据
        DataRow dr = ds.Tables["student"].NewRow();
        dr[
"id"] = "043";
        dr[
"name"] = "王晓梅";
        dr[
"sex"]="女";
        ds.Tables[
"student"].Rows.Add(dr);
       

        
//修改数据
        Response.Write("修改前的数据为:"+ds.Tables[0].Rows[0][0] + ds.Tables[0].Rows[0][1] + ds.Tables[0].Rows[0][2]+"<br>");
        ds.Tables[
0].Rows[0][1] = "张居正";
        ds.Tables[
0].Rows[0][2] = "男";
        Response.Write(
"修改后的数据为:" + ds.Tables[0].Rows[0][0] + ds.Tables[0].Rows[0][1] + ds.Tables[0].Rows[0][2] + "<br>"); 

        
//删除数据
        ds.Tables[0].Rows[0].Delete();
        Response.Write(
" 数据已经删除");
        da.Update(ds, 
"student");
        mystr.Close();
    }
posted @ 2008-01-21 21:46  吴有鋆  阅读(749)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3