• ADO.NET DataSet


    DataSet技术 DataTable DataView
    //*****************************************************************************/
    // 在数据库vls 中有个 PROVINCE表 其中字段有 PROVINCE_ID/ PROVINCE_CDE/ PROVINCE_NAME ××包含中国34省,市,自治区
    //*****************************************************************************/
    From 与ASP.NET 用法一样
    1.绑定DataGird
    string constr="user id=sa;password=168168;initial catalog=VLS;data source=yu;Connect Timeout=30";
    SqlConnection mycon
    =new SqlConnection(constr);
       
    string sqlstr="select * from PROVINCE";
    SqlDataAdapter dap
    =new SqlDataAdapter(sqlstr,mycon);
    // 也可以用下面3句 调用 SqlCommand组件
    //SqlCommand mycomd=new SqlCommand(sqlstr,mycon);
    //SqlDataAdapter dap=new SqlDataAdapter();
    //dap.SelectCommand=mycomd; 

    mycon.Open();
    DataSet ds
    =new DataSet();
    dap.Fill(ds,
    "PROVINCE");
    mycon.Close();

    this.DataGrid1.DataSource=ds.Tables[0].DefaultView;
    this.DataGrid1.DataBind();
    2.增加
    string constr="user id=sa;password=168168;initial catalog=VLS;data source=yu;Connect Timeout=30";
    SqlConnection mycon
    =new SqlConnection(constr);
      
    string sqlstr="select * from PROVINCE";
    SqlCommand mycomd
    =new SqlCommand(sqlstr,mycon);
    mycon.Open();
    SqlDataAdapter myAdapter
    =new SqlDataAdapter();
    myAdapter.SelectCommand
    =mycomd;
    DataSet ds
    =new DataSet();
    myAdapter.Fill(ds,
    "PROVINCE");
    //增加
    for(int i=0;i<34;i++)
    {
    DataRow drw
    =ds.Tables[0].NewRow();
    drw[
    "PROVINCE_ID"]="temp"+Convert.ToString(i);
    drw[
    "PROVINCE_NAME"]="你好们";
    ds.Tables[
    0].Rows.Add(drw);
    }

    SqlCommandBuilder myCommandBuilder 
    = new SqlCommandBuilder(myAdapter);
    myAdapter.Update(ds,
    "PROVINCE"); 
    ds.Tables[
    0].AcceptChanges();
    mycon.Close();
    3.删除 修改 //****************删除 修改记录的 表一定要有主键
    string constr="user id=sa;password=168168;initial catalog=VLS;data source=yu;Connect Timeout=30";
    SqlConnection mycon
    =new SqlConnection(constr);
       
    string sqlstr="select * from PROVINCE";
    SqlCommand mycomd
    =new SqlCommand(sqlstr,mycon);
    mycon.Open();
    SqlDataAdapter myAdapter
    =new SqlDataAdapter();
    myAdapter.SelectCommand
    =mycomd;
    DataSet ds
    =new DataSet();
    myAdapter.Fill(ds,
    "PROVINCE");
        
    DataRow []drws
    =ds.Tables[0].Select("PROVINCE_ID like 'temp%'");
    //删除 
    foreach(DataRow drw in drws)
    {
    Response.Write(drw[
    "PROVINCE_NAME"].ToString()+" ");
    drw.Delete();
    }

    //修改
    foreach(DataRow drw in ds.Tables[0].Rows)
    {
    Response.Write(drw[
    "PROVINCE_NAME"].ToString()+" ");
    drw[
    "PROVINCE_CDE"]="M2";
    }

    SqlCommandBuilder myCommandBuilder 
    = new SqlCommandBuilder(myAdapter);
    myAdapter.Update(ds,ds.Tables[
    0].TableName); 
    ds.Tables[
    0].AcceptChanges();
    mycon.Close();

    DataTable
    1.新建表绑定
    DataTable dt
    =new DataTable();
    DataRow dr;
    dt.Columns.Add(
    new DataColumn("id",typeof(Int32)));
    dt.Columns.Add(
    new DataColumn("text",typeof(string)));      
    for(int i=0;i<10;i++)
    {
    dr
    =dt.NewRow();
    dr[
    0]=i;
    dr[
    1]="sds"+i.ToString();
    dt.Rows.Add(dr);
    }

    this.DataGrid1.DataSource=dt.DefaultView;
    this.DataGrid1.DataBind();
    2.//DataTable 经常用到的 select属性 用来 判断重复
    DataTable dt=new DataTable();DataRow dr;
    dt.Columns.Add(
    new DataColumn("id",typeof(string)));
    dt.Columns.Add(
    new DataColumn("text",typeof(string)));
    for(int i=0;i<10;i++)
    {
    dr
    =dt.NewRow();
    dr[
    0]="ff"+i.ToString();;
    dr[
    1]="sds"+i.ToString();
    dt.Rows.Add(dr);
    }

    string str="id='ff3' and text='sds3'";
    //模糊查询 //string str=" text like 's%'";
    DataRow[] drws=dt.Select(str);
    if(drws.Length>0)
    {Response.Write("有重复记录!");}
    else{Response.Write("无重复记录!");}

    DataView
    //DataView 就是 筛选,过滤后的DataTable
    1.筛选
    DataTable dt
    =new DataTable();DataRow dr;
    dt.Columns.Add(
    new DataColumn("id",typeof(Int32)));
    dt.Columns.Add(
    new DataColumn("text",typeof(string)));
    for(int i=0;i<10;i++){
    dr
    =dt.NewRow();
    dr[
    0]=i;
    dr[
    1]="sds"+i.ToString();
    dt.Rows.Add(dr);    }

    dt.DefaultView.RowFilter
    ="id=5";
    this.DataGrid1.DataSource=dt.DefaultView;
    this.DataGrid1.DataBind();
    2.排序
    DataTable dt
    =new DataTable();DataRow dr;
    dt.Columns.Add(
    new DataColumn("id",typeof(Int32)));
    dt.Columns.Add(
    new DataColumn("text",typeof(string)));
    for(int i=0;i<10;i++)
    {
    dr
    =dt.NewRow();
    dr[
    0]=i; 
    dr[
    1]="sds"+i.ToString();
    dt.Rows.Add(dr);
    }

    dt.DefaultView.Sort
    ="id desc";
    this.DataGrid1.DataSource=dt.DefaultView;
    this.DataGrid1.DataBind();
  • 相关阅读:
    安卓基础值之Intent
    输入值/表单提交参数过滤有效防止sql注入的方法
    一致性hash
    linux授权某个用户对某个目录有读写的权限
    mysql分区功能详细介绍,以及实例
    SVN分支与主干
    solr查询
    mysql-proxy做客户端连接转发【外网访问内网mysql】
    liunx 下安装 php_screw 扩展 以及报错处理
    邮件发送
  • 原文地址:https://www.cnblogs.com/yiki/p/1307805.html
Copyright © 2020-2023  润新知