ADO.Net的小知识(连接数据库)二
上次提到数据库连接有两种形式断开式连接和打开式连接,断开式连接我已经讲解了,下面我来给大家讲解一下打开式连接
(1)引入命名空间:using System.Data.SqlClient;
该语句用于导入和ADO.Net和sqlserver连接的相关的类,它常用的类有:sqlConnection,sqlCommand,sqlDataAdapter,ataSet,sqlDataReader,SqlParameter等等
(2)编写连接字符串:string connStr ="Server=.;Database=.Net_Teach_DB;User ID=Test;Password=test";
该语句是数据库的地址,包括服务器名称,数据库名称,数据库的账号和密码(账号、密码可以省略不写)在asp.net中这个连接字符串一般写在webconfig中他的配置文 件如下:<connectionStrings>
<add connectionString="Server=.;Database=.Net_Teach_DB;User ID=Test;Password=test" name="connStr" />
</connectionStrings>
读取时:string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
(3)创建连接对象:SqlConnection conn = new SqlConnection(connStr);
该语句用于创建连接对象,也就相当于一个和数据库连接的桥梁
(4)创建执行对象:sqlCommand comm = new sqlCommand(sql,conn);
执行对象就相当于一个执行者,一个执行者需要知道他要做什么去哪里执行,所以这个对象在创建时需要两个参数sql语句和连接对象
(5)创建读取对象:sqlDataReader reader = comm.ExecuteReader();
该对象是一个只读的文件流,将数据库中的数据读取出来发在集合中所以需要while循环遍历改文件流
(6)用while循环读取数据:while(reader.read()){};
用来遍历文件流
(7)关闭连接:conn.Close();
执行完所有的操作我们需要关闭连接,释放资源
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//导入命名空间
using System.Data.SqlClient;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//连接字符串
string strData =" Data Source=.;Initial Catalog=fang_first;User ID=sa;pwd=******";
//创建连接对象
SqlConnection con = new SqlConnection(strData);
//创建执行对象
SqlCommand cmd = con.CreateCommand(sql,conn);
//打开连接
con.Open();
//创建读取对象
SqlDataReader reader= cmd.ExecuteReader();
//遍历读取对象
while(reader.Read())
{
} }
}
}
30.
31.
32. }
33. }
34.}
ADO.Net的小知识(连接数据库)二的更多相关文章
- ADO.Net的小知识(连接数据库)
数据库连接分为两种,分别是断开式连接和打开式连接.下面分别和大家分享一下断开时连接的查询: (1)引入命名空间:using System.Data.SqlClient; 该语句用于导入和ADO.Net ...
- MFC 小知识总结二
1 UpdateData 不能及时更新控件内容 原因: UpdateData是通过数据交换实现改变控件显示的.改变了之后必需要调用一次OnPaint才干实现刷新. 因此,若是在一个函数里重复多次调用有 ...
- AngularJs——基础小知识(二)
AngularJs的过滤器 1.Currency :过滤器(金额货币格式化)
- js--Ajax的小知识(二):处理ajax的session过期的请求
问题的产生: 现如今Ajax在Web项目中应用广泛,几乎可以说无处不在. 有时会碰到这样个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax ...
- 【C#小知识】C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 分类: C# 2014-02-03 01:24 1576人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而 ...
- HTML+CSS中的一些小知识
今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...
- salesforce 零基础开发入门学习(十)IDE便捷小知识
在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...
- Jquery:小知识;
Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器 上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...
- [小知识] 获取浏览器UA标识
这个随笔纯粹是小知识的积累,以后都会打上小知识的标签. 经常见的,下载移动app时,只有一个二维码,但扫码后,会根据手机是iphone还是android下载不同app,下面就是这个操作的代码: < ...
随机推荐
- RPi 2B UART作为调试口或者普通串口
/************************************************************************************** * RPi 2B UAR ...
- ♫【jQuery插件】图片放大镜
JQZoom
- Android 多种方式正确的加载图像,有效避免oom
图像加载的方式: Android开发中消耗内存较多一般都是在图像上面,本文就主要介绍怎样正确的展现图像减少对内存的开销,有效的避免oom现象.首先我们知道我的获取图像的来源一般有三种源头:1.从网络加 ...
- linux下socket keep alive讲解
[需求] 不影响服务器处理的前提下,检测客户端程序是否被强制终了.[现状]服务器端和客户端的Socket都设定了keepalive属性.服务器端设定了探测次数等参数,客户端.服务器只是打开了keepa ...
- 021QTP之焦点(多思考)
一.什么是焦点: 焦点说白了就是你打开某一个程序时默认的focuse 比如我们那QTP自带的windows下的示例程序来说,启动它后焦点自动落在了agent name文本框上 二.利用Tab键检查焦点 ...
- 求一字符串最长不重复字符子串的长度【Java 版】
一. 前言 最近学习有点断断续续,整理的一些知识点要么不完整,要么完全没搞懂,不好拿上台面,还是先在草稿箱躺着吧.偶尔在浏览大牛博客http://coolshell.cn的时候,发现大牛业余时间也在做 ...
- mybatis系列-01-JDBC
1.1 环境 java环境:jdk1.7.0_79 eclipse mysql:5.7 1.2 创建mysql数据 导入下边的脚本: 导入之后数据库: sql_table.sql:记录 ...
- 4.3 Reduction代码(Heterogeneous Parallel Programming class lab)
首先添加上Heterogeneous Parallel Programming class 中 lab: Reduction的代码: myReduction.c // MP Reduction // ...
- 基于adt-bundle的Android开发环境搭建
web与移动是当今的热门,怎么说都得会一点,完全不懂是不行的. 一直想玩一下移动开发,穷屌丝暂时没有iPhone和Mac,所以先拿Android开刀. 之前也有想过玩一下Android,但是都被各种博 ...
- 初页CTO丁乐:分布式以后还能敏捷吗? - 极客头条 - CSDN.NET
初页CTO丁乐:分布式以后还能敏捷吗? - 极客头条 - CSDN.NET