数据访问类的封装与三大类

数据访问类的封装:

最简单的数据访问方法:

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

 

   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()+"\n");                      

           }

            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();
   }

 

posted @ 2015-09-10 22:05  疯子霖  阅读(305)  评论(0编辑  收藏  举报