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

数据库连接
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文件中修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值