zoukankan      html  css  js  c++  java
  • 数据访问类的封装与三大类

    数据访问类的封装:

    最简单的数据访问方法:

     //创建数据库连接类对象         

       SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;password=123");      
    
           SqlCommand cmd = conn.CreateCommand();//根据连接去创建操作对象          
    
       cmd.CommandText = "select *From fruit";//写t-sql语句
    
                conn.Open();//打开连接
    
                SqlDataReader dr = cmd.ExecuteReader();//执行读取方法,读取数据,返回dr结果集
    
                            while(dr.Read())                //read()读取数据,但他一次只能读一行,所以用while循环语句
    
      {               
    
      Console.Write(dr["ids"].ToString()+"  "+dr["name"].ToString()+"
    ");                      
    
               }
    
                conn.Close();//关闭连接
    
                Console.ReadLine();         }    
    
    }
    
    }

    生成数据库中的信息

    数据访问类分为三大类:连接类,实体类,数据访问类。

    sqlconnection:数据库连接类

    sqlcommand:数据库操作

    sqldatareader:数据读取

    dr.hasrows:是否有数据

    dr.read:下移指针读取数据

    dr.fieldcount:获取结果集列数

    dr.getname:获取指定列的列名

     查询语句:

    1、连接类:

    class lianjie
    
    {
    
    private string conntetion="server=.;database=  ;uid=sa;pwd=789234178";
    
    public string conn
    
    {
    
    get{
    
    return conntetion
    
    }
    
    }
    
    }

    2、实体类: private string code;  将属性进行封装

    3、数据访问类:

    class BrandDA
    
    {
    
    private SqlConnection conn;
    
    private SqlCommand cmd;
    
     
    
    public BrandDA()
    
    {
    
    conn=new SqlConnection(new lianjie().conn);
    
    cmd=conn.CreateCommand();
    
    }
    
     
    
    public List<Brand>Select()
    
    {
    
    List<Brand>list=null;
    
    cmd.CommandText="select*from Brand";
    
    conn.Open();
    
    SqlDataReader dr=cmd.ExecuteReader();
    
    if(dr.HasRows)
    
    {
    
    list=new List<Brand>();
    
    while(dr.Read())
    
    {
    
    Brand data=new Brand();
    
    data.Brand_Code=dr["Brand_Code"].ToString();
     data.Brand_Name=dr["Brand_Name"].ToString();
     data.Brand_Memo=dr["Brand_Memo"].ToString();
     data.Prod_Code=dr["Prod_Code"].ToString();
     list.Add(data);
    
     
    
           }
    
       }
    
    }
    
    return list;
    
         }
    
    }

    4.在winform中调方法:

    List<Brand> list=new BrandDA().Select();

    dataGridViewq.DataSource=list;

    增加数据:

       public void Insert(info data)
       {
           cmd.CommandText = "insert into info values(@Code,@Name,@Sex,@Nation,@Birthday)";
           cmd.Parameters.Add("@Code", data.Code);
           cmd.Parameters.Add("@Name",data.Name);
           cmd.Parameters.Add("@Sex" ,data.Sex);
           cmd.Parameters.Add("@Nation", data.Nation);
           cmd.Parameters.Add("@birthday", data.Birthday);
           conn.Open();
           cmd.ExecuteNonQuery();
           conn.Close();
       }
    

    在页面调用方法:

    info data = new info();
            data.Code = TextBox1.Text;
            data.Name = TextBox2.Text;
            data.Sex =Convert.ToBoolean( TextBox3.Text);
            data.Nation = TextBox4.Text;
            data.Birthday =Convert.ToDateTime(TextBox5.Text);
            new infoDA().Insert(data);
           
    

    删除数据:

     public void delete(fruit data)
       {
           cmd.CommandText = "delete from fruit where ids=@Ids";
           cmd.Parameters.Clear();
           cmd.Parameters.Add("@Ids", data.Ids);
           conn.Open();
           cmd.ExecuteNonQuery();
           conn.Close();
       }
  • 相关阅读:
    门禁复制
    ImportError: cannot import name 'COMMAND' from 'MySQLdb.constants'
    Python3:模块:ModuleNotFoundError No module named 'MySQLdb'
    zookeeper问题:关于Unable to read additional data from server sessionid 0x0问题的解决
    Linux内存分析free与cache清理
    X-pack结合LDAP进行权限认证
    Django2.2框架:ORM数据库操作
    Django框架:模板继承和静态文件配置
    Djiango框架:模板语法
    Django2.2.x框架:基础篇(二)
  • 原文地址:https://www.cnblogs.com/hansonglin/p/4799283.html
Copyright © 2011-2022 走看看