C#连接SqlServer与实体类封装原则

一、命名空间:
System.Data;
System.Data.SqlClient;

二、SqlConnection类:创建与数据库的连接
server=.;database=mydb;uid=sa;pwd=sa

     实例化:
string str = "server=.;database=mydb;uid=sa;pwd=sa";
        SqlConnection conn = new SqlConnection(str);

     方法:
Open();
Close();

SqlCommand类:用来执行Sql语句的命令对象
三、 实例化:
SqlCommand cmd = conn.CreateCommand();

     属性:
CommandType:Text-要执行的是SQL语句,StoredProcedure-要执行的是存储过程
CommandText:要执行的SQL语句或存储过程
Parameters:用来操作SQL语句的参数@..

     方法:
ExecuteNonQuery():用来执行增删改的方法
ExecuteReader():用来执行查询的方法,返回SqlDataReader


执行插入的例子:
     string str = "server=.;database=mydb;uid=sa;pwd=123";
            SqlConnection conn = new SqlConnection(str);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "insert into info values(@code,@name,@sex,@nation,@birthday)";
            cmd.Parameters.AddWithValue("@code","h004");
            cmd.Parameters.AddWithValue("@name","田七");
            cmd.Parameters.AddWithValue("@sex",true);
            cmd.Parameters.AddWithValue("@nation","n003");
            cmd.Parameters.AddWithValue("@birthday","1999-9-9");
            conn.Open();
            cmd.ExecuteNonQuery();
            //cmd.ExecuteReader();
            conn.Close();

四、SqlDataReader:读取器对象,与Java的ResultSet很像
SqlDataReader不能直接new出来。它的生只有一种方法--SqlDataReader dr = cmd.ExecuteReader();
常用读取语法
while(dr.Read())
{
}

    方法:
Read():(返回bool,读取成功返回true)把当前的记录读取到SqlDataReader中来。数据库中的记录指针移到下一条去。
     属性:
HasRows:(返回bool,有记录返回true)探测查询是否检索出记录。

读取当前SqlDataReader中指定列的数据:dr["列名"];

查询的例子:
     string str = "server=.;database=mydb;uid=sa;pwd=123";
            SqlConnection conn = new SqlConnection(str);
            SqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select * from info";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                Console.WriteLine(dr["Name"].ToString()+dr["Sex"].ToString()+dr["Nation"].ToString()+dr["Birthday"].ToString());
            }
            conn.Close();

封装实体类:
每个表对应一个类,表中的每列对应类中的一个成员变量。该类的每个对象对应表中的一条记录。

数据访问类:
对每个表对行C(Create)R(Retrive)U(Update)D(Delete)操作
易维护,重用,易读性强

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值