数据库及ADO.Net简单复习_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 数据库及ADO.Net简单复习

数据库及ADO.Net简单复习

 2013/8/18 19:28:45  祥龙福虎dx  博客园  我要评论(0)
  • 摘要:数据库和ADO.Net已经学完了,带领大家奋战的小杨老师也要休息一段时间了,真的有点舍不得呢,希望下面的老师教的也很好。简单复习一下数据库吧1.关系数据库中的关系指的就是表(这句话小杨老师反复强调了,不会忘了)2.创建数据库,创建表,创建列,数据的增删查改,约束都能写出来3.空值null:数据库中,一个列如果没有指定值,那么值就为null,数据库中的null表示“不知道”,而不是表示没有。因此selectnull+1结果是null,因为“不知道&rdquo
  • 标签:.net 复习 net 数据库 数据

数据库和ADO.Net已经学完了,带领大家奋战的小杨老师也要休息一段时间了,真的有点舍不得呢,希望下面的老师教的也很好。简单复习一下数据库吧

1.关系数据库中的关系指的就是表(这句话小杨老师反复强调了,不会忘了)

2.创建数据库,创建表,创建列,数据的增删查改,约束都能写出来

3.空值null:数据库中,一个列如果没有指定值,那么值就为null,数据库中的null表示“不知道”,而不是表示没有。因此select null+1结果是null,因为“不知道”加1的结果还是“不知道”

4.数据排序order by,数据分组group by,having语句都掌握了

5.类型转换cast和convent:CAST ( expression AS data_type),CONVERT ( data_type, expression,[style])

6.联合:将多个结果集合并成一个结果集。union(去除重复,相当于默认应用了distinct)、union all

7.聚合函数,字符串函数与日期函数:count(),max(),min(),avg();len(),datalength(),lower(),upper(),ltrim(),rtrim(),left(),right(),substring();getdate(),dateadd(),datediff();datepart()

8.ADO.Net

SqlHelper:

public static  class SqlHelper
    {
        private static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        public static int ExecuteNonQuery(bool isproc ,string sql, params SqlParameter[] parms)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    conn.Open();
                    if (isproc == true)
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                    }
                    if (parms != null)
                    {
                        cmd.Parameters.AddRange(parms);
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        public static object ExecuteScalar(bool isproc ,string sql, params SqlParameter[] parms)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    conn.Open();
                    if (isproc == true)
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                    }
                    if (parms != null)
                    {
                        cmd.Parameters.AddRange(parms);
                    }
                    return cmd.ExecuteScalar();
                }
            }
        }
        public static SqlDataReader ExecuteReader(bool isproc,string sql, params SqlParameter[] parms)
        {
            SqlConnection conn = new SqlConnection(connstr);

            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                if (parms != null)
                {
                    cmd.Parameters.AddRange(parms);
                }
                try
                {
                    conn.Open();
                    if (isproc == true)
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                    }
                    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                }
                catch (Exception)
                {
                    conn.Close();
                    conn.Dispose();
                    throw;
                }
            }
        }
    }

9.app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add connectionString="Data Source=.;Initial Catalog=Itcast2013;Integrated Security=True" name="connstr" />
  </connectionStrings>
</configuration>

10.case函数:相当于switch case 或if else if...else

11.子查询:例如:查询高一一班和高二一班的所有学生

select * from student where sClassId in

(select cId from class where cName='高一一班' or cName='高二一班')

12.分页。分页的存储过程必须很熟练

create proc usp_GetCustomersByPage
@pageindex int,--第几页
@pagesize int,--每页条数
@pagecount int output--总页数
as
begin
    set @pagecount=CEILING((select COUNT(*) from Customers)/(@pagesize*1.0))
    select * from
    (select *,ROW_NUMBER() over(order by customerid) as rn from Customers) as cust
    where cust.rn between (@pagesize-1)*@pagesize+1 and @pagesize*@pageindex
end

13.表连接join:inner join,left join,right join:例如

select tClassName,tsname,tsage  from TblClass

inner join TblStudent on tClassId= tSClassId

14.视图:视图是一张虚拟表;视图中的查询不能使用order by ,除非指定了top语句;create view vw_name as 后不能跟begin end.(必须要很熟练)

15.变量:

局部变量:

声明:DECLARE @变量名 数据类型 【=默认值】

赋值:SET @变量名 =值      --set用于普通的赋值
SELECT @变量名 = 值  --用于从表中查询数据并赋值

输出:select,print

全局变量:系统定义的,@@作为前缀,掌握常用的全局变量@@ERROR--最后一个T-SQL错误的错误号

16.if else 与while

17.事务:这件事能不能成功

语法步骤:

•开始事务:BEGIN TRANSACTION •事务提交:COMMIT TRANSACTION •事务回滚:ROLLBACK TRANSACTION

18.存储过程:就像数据库中运行方法(函数)。分页的存储过程必须掌握

19.索引,触发器,游标

18.数据库的设计

19.数据库的三范式

简单复习了一下,还要通过写代码复习一下,复习完数据库,再复习复习基础加强,明天就开始HTML 了

发表评论
用户名: 匿名