这几天的自学,现在总结一下关于C#中连接数据库的一些知识点:

1.使用Connection连接数据库的步骤:

(1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记)

(2)定义连接字符串。连接SQL Server 数据库时:

server=服务器名;database=数据库名;uid=用户名;pwd=密码;例如:要连接本机上的StudentManagement数据库,用户名为sa,密码为111

string connString="server=.;database=StudentManagement;uid=sa;pwd=111;"

(3).创建Connection对象:

SqlConnection connection=new SqlConnection(connSting);

(4).打开数据库:

connection.Open();

(5).对数据库操作完毕后关闭数据库连接

connection.Close();

2.Command对象:

(1).command对象可以用来对数据库发出具体的操作指令,例如对数据库的查询、增加、修改、删除

(2).创建Command对象,并设置它的属性:

SqlCommand command =new SqlCommand();

command.Connection=connection;

command.CommandText=sqlQuery(sqlQuery为查询语句);

(3).Command对象的主要方法:

ExecuteNonQuery:执行后不返回任何行,对于update、insert、delete语句,返回影响的行数对于其他类型的语句,返回值为-1

ExecuteReader:执行查询语句,返回DataReader对象

ExecuteScalar:执行查询,并返回查询结果的第一行第一列,忽略其他列或行

ExecuteXmlreader:将CommandText发送到Connection并生成一个XmlReader

3.DataReader对象:

(1).DataReader对象可以从数据库中一只读、只进的方式查询数据,每次的操作只有一个记录保存在内存中

(2).DataReader对象的主要方法:

Read:读取下一条数据

Close:关闭DataReader对象

(3).使用DataReader提取数据的步骤:

(a).建立与数据库的连接并打开

(b).创建一个Command对象

(c).从Command对象中创建DataReader对象

(d).使用DataReader读取并显示

可以使用一个循环利用Read方法便利数据库中行的信息,如果要获取该行中某列的值,只需要使用"["和"]"运算符就可以了

(e).分别关闭DataReader对象和数据库的连接

实例:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data; namespace xmlTest
{
class Program
{
static void Main(string[] args)
{
try
{
//定义连接字符串
string connString = "server=.;database=gpweb;uid=sa;pwd=123456";
//定义查询语句
string cmdStr = "select * from WebUser where UserName='lcyuhe';"; //保存查询结果
DataSet ds = new DataSet(); //创建Connection对象
SqlConnection connection = new SqlConnection(connString);
//打开数据库
connection.Open(); //command对象可以用来对数据库发出具体的操作指令,例如对数据库的查询、增加、修改、删除
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = cmdStr;
//int affects = command.ExecuteNonQuery(); SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(ds); DataTableCollection dtc = ds.Tables;
//遍历查询结果
foreach (DataTable dt in dtc)
{
Console.WriteLine("表:" + dt.TableName);
foreach (DataRow drow in dt.Rows)
{ //遍历列
//foreach (var item in drow.ItemArray)
//{
// Console.WriteLine(item);
//} // 获取或设置存储在由名称指定的列中的数据
Console.WriteLine("username:" + drow["username"]);
}
} //Console.WriteLine("受影响的行数:{0}", affects); //对数据库操作完毕后关闭数据库连接
connection.Close(); }
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw;
}
Console.WriteLine("====================================================");
Console.ReadKey();
}
}
}

转自:http://www.360doc.com/content/13/0606/09/10504424_290840282.shtml

ADO.NET数据库访问技术(转)的更多相关文章

  1. ADO.Net 数据库访问技术

    1.在web.Config配置文件中设置连接字符串 <connectionStrings> <add name="connString" connectionSt ...

  2. C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看

    数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...

  3. ADO.NET数据访问技术

    ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...

  4. C#与数据库访问技术总结(十八)

    ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...

  5. c# 窗体开发4 数据库访问技术

    ADO.NET的名称起源于ADO(ACTIVEX DATA OBJECTS) USING SYSTEM; USING SYSTEM.COLLECTIONS.GENERIC; USING SYSTEM. ...

  6. 数据库访问技术 odbc dao rdo uda jet oledb

    一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...

  7. C#与数据库访问技术总结(七)综合示例

    综合示例 说明:前面介绍了那么多,光说不练假把式,还是做个实例吧. 表:首先你要准备一张表,这个自己准备吧.我们以学生表为例. 1.ExecuteScalar方法 ExecuteScalar方法执行返 ...

  8. VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法

    1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序 (DLL.EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dl ...

  9. C#与数据库访问技术总结(十六)之 DataSet对象

    DataSet对象 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访问和操作数据库. 并且,由于DataSet对象具有离线 ...

随机推荐

  1. 解释一下python中的身份运算符

    通过身份运算符‘is’和‘is not’,我们可以确定两个值是否相同 ')#False print(True is not False)#True

  2. Log4Net各参数API

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  3. Java面向对象—多态

    概述:同一个事物,在不同的时刻表现出不同的状态. 代码中如何体现: 要有继承, 要有方法重写, 父类引用指向子类对象 多态的成员访问特点 成员变量:编译看左边(父类), 运行看左边 成员方法:编译看左 ...

  4. sublime Text emmet插件使用手册

    转自:http://www.w3cplus.com/tools/emmet-cheat-sheet.html 介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工 ...

  5. golang解析json报错:invalid character '\x00' after top-level value

    golang解析json报错:invalid character '\x00' after top-level value 手动复制字符串:{"files":["c:/t ...

  6. Shell 实现找出两个目录下的同名文件方法

    # 首先我们来创建一些 2 个目录,里面的目录结构及相关文件如下所示: # 从上面的测试目录可以看到, lol.txt lol2.txt 两个文件是两个目录下的同名文件 # 有实际例子,思路就容易出来 ...

  7. javascript-实现小抽奖程序

    直接上代码 <style> *{ margin: 0; padding:0;} .prize_wrap{ width: 300px; height: 150px; } .prize_wra ...

  8. [洛谷3041]视频游戏的连击Video Game Combos

    题目描述 Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the only v ...

  9. 记一次如何解决低版本jar包里面的bug,不适宜替换成高版本的经历

    背景:目前正在迭代开发的项目,应用户要求新增一个电子文档转换的功能,即将不标准的excel文件转换为标准的excel文件(标准模板). 选择:pio ,本项目里面本来就有poi的jar包 问题:项目里 ...

  10. BZOJ:(270,300]

    9/30 BZOJ3038:线段树,不带lazy标记,直接修改叶子. BZOJ3211:同3038 BZOJ1406:将式子转换成[(x-1)*(x+1)%n==0]然后枚举i.当i=x-1时,i*( ...