黑马程序员——数据库错做与连接笔记

数据库连接
1.本机登录windows验证,如果是单独数据库服务器则需要密码
2.启用混合验证:sa为最高权限账户
    1)右键-〉属性-〉安全性-〉启用混合验证-〉重启服务
    2)启用sa账户:根节点-〉安全性-〉登录名-〉状态 sa启用 -〉常规-〉设置密码。
3.实现了IDisposible接口的类可以使用using语法自动回收资源。
    using(类名 变量名=new 类名())
    {
        ……//代码块
    }
4.using相当重要,如果没有使用using,假如SQL语句发生异常则会造成内存缓慢泄露,或者连接用完。using 内的东西,系统会执行close()和disposible()释放资源。
    using(SqlConnection conn=new SqlConnection(
                "Data Source=.; Initial Catalog=stu;User                                ID=sa;Password=tao201415shu"))
            {
                conn.Open();//打开数据库连接
                using(SqlCommand cmd=conn.CreateCommand())
                {
                    cmd.CommandText = "insert into T_Student(Name,Age)
                                           values('元芳',180)";//SQL命令语句
                    cmd.ExecuteNonQuery();//执行非查询语句
                }
                //MessageBox.Show("连接成功");
            }

    
5.cmd.ExecuteReader()一般用于查询结果有多条记录的SQL语句,返回SqlDataReader类型(reader)。且查询结果放在数据库服务器中(远程),没放到客户端,初始时一个指针指向第一条数据之前,执行一次(reader.Read()),指针下移一条,只要没移到最后一条之后,都返回true.

6.C#与SQL中的数据类型
            C#              SQL
            int32           int
            long            bigint
            bool            bit
            string          nvarchar

7.ADO.NET中参数化查询的两种写法

推荐使用1)cmd.Parameters.Add(new SqlParameter("@name", txtName.Text));
           cmd.Parameters.Add(new SqlParameter("@age", Convert.ToInt32(txtAge.Text)));

不推荐    2)cmd.Parameters.AddWithValue("@age", Convert.ToInt32(txtAge.Text));

参数化查询的例子
insert into …… values(@name,@age)
delete from ……where Name=@name
update TableName set Name=@name where Age=@age

@参数不能用来替换表名和select字段值如:select * from @TableName或者select @name from……

8.SqlDataReader 是连接相关,结果在数据库服务器中,无论结果多少,对程序没影响。如果断开连接,数据不可再度。
9.DataSet,如果查询结果不是很大可以使用数据集,数据放在客户端,降低数据库服务器压力,编程也简单。

10.DataSet伪代码实现
    SqlDataReader reader=……
    List <string> list=new List<string>()
    while(reader.Read())
    {
        list.Add(reader.GetString(0))
    }

    list//数据集

11.用配置文件连接字符串步骤
    1)添加一个应用程序配置文件App.config
    2)App.config加节点,给连接字符串起名
    3)项目添加对System.configuration的引用(添加程序集)
    4)就能使用System.configuration的configurationManager类
    5)使用时把.exe文件和.config文件一起考给用户,修改时直接在config文件中修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值