ADO.NET数据库访问技术(转)
这几天的自学,现在总结一下关于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数据库访问技术(转)的更多相关文章
- ADO.Net 数据库访问技术
1.在web.Config配置文件中设置连接字符串 <connectionStrings> <add name="connString" connectionSt ...
- C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- C#与数据库访问技术总结(十八)
ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...
- c# 窗体开发4 数据库访问技术
ADO.NET的名称起源于ADO(ACTIVEX DATA OBJECTS) USING SYSTEM; USING SYSTEM.COLLECTIONS.GENERIC; USING SYSTEM. ...
- 数据库访问技术 odbc dao rdo uda jet oledb
一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...
- C#与数据库访问技术总结(七)综合示例
综合示例 说明:前面介绍了那么多,光说不练假把式,还是做个实例吧. 表:首先你要准备一张表,这个自己准备吧.我们以学生表为例. 1.ExecuteScalar方法 ExecuteScalar方法执行返 ...
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序 (DLL.EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dl ...
- C#与数据库访问技术总结(十六)之 DataSet对象
DataSet对象 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访问和操作数据库. 并且,由于DataSet对象具有离线 ...
随机推荐
- springboot整合JPA创建数据库表失败
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table t_s ...
- R 基本函数总结
基本一.数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量 list:列表 data.frame:数据框 c:连接为向量或列表 len ...
- C语言-随机数
C语言使用rand()函数产生随机数, 使用rand()函数之前要先使用srand(time(0)), 以当前时间作为种子, 否则产生的随机数将不会变化. #include <stdio.h&g ...
- pkg-config用法和gcc cflags
pkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径.版本号等信息的程序. 譬如说我们运行以下命令:pkg-config 查看gcc的CFLAGS参数 $pkg-confi ...
- 企业级web nginx服务优化
1.1)隐藏nginx header 内版本号信息 [root@aliyun ~]# vi /application/nginx/conf/nginx.conf http{ …… server_tok ...
- Java集合(6):TreeSet
一.TreeSet介绍 与HashSet是基于HashMap实现一样,TreeSet是基于TreeMap实现的.TreeSet是一个有序集合,TreeSet中的元素将按照升序排列,缺省是按照自然排序进 ...
- PL/SQL编程—视图
create or replace view test_view as select TestA.id, TestB.idno, TestB.name, TestB.sex from TestB le ...
- vue-cli中config目录下的index.js文件详解
vue-cli脚手架工具config目录下的index.js解析 转载自:http://www.cnblogs.com/ye-hcj/p/7077796.html // see http://vuej ...
- Android 属性自定义及使用获取浅析
一.概述 相信你已经知道,Android 可使用 XML 标签语言进行界面的定义.每个标签中有一个一个的属性,这些属性有相应的属性值.例如: <cn.neillee.composedmenu.R ...
- Kotlin学习记录1
参考我的博客:http://www.isedwardtang.com/2017/09/02/kotlin-primer-1/