一.用SqlConnection连接SQL Server

1..加入命名空间
using System.Data.SqlClient;
2.连接数据
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = "user id=sa;password=sinofindb;initial catalog=test;data source=127.0.0.1;Connect Timeout=30";
myConnection.Open();
改进(更通用)的方法:
string MySqlConnection="user id=sa;password=sinofindb;Database =test;data source=127.0.0.1;Connect Timeout=30";
SqlConnection myConnection = new SqlConnection(MySqlConnection);
myConnection.Open();
二。用OleDbConnection连接

1.加入命名空间
using System.Data.OleDb;
 
2.连接sql server
string MySqlConnection="Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=test;Integrated Security=SSPI;";
SqlConnection myConnection = new SqlConnection(MySqlConnection);
myConnection.Open();
3.连接Access(可通过建立.udl文件获得字符串)
string MySqlConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db2000.mdb;
Persist Security Info=False;

4.连接Oracle(也可通过OracleConnection连接)
string MySqlConnection="Provider=MSDAORA;Data Source=db; user id=sa;password=sinofindb";
三.创建Command对象

1.SqlCommand 构造函数
①初始化 SqlCommand 类的新实例。public SqlCommand();
SqlCommand myCommand = new SqlCommand();
②初始化具有查询文本的 SqlCommand 类的新实例。public SqlCommand(string);
String mySelectQuery = "SELECT * FROM mindata";
SqlCommand myCommand = new SqlCommand(mySelectQuery);
③初始化具有查询文本和 SqlConnection 的SqlCommand类实例。
Public SqlCommand(string, SqlConnection);
String mySelectQuery = "SELECT * FROM mindata";
string myConnectString = "user id=sa;password=;database=test;server=mySQLServer";
SqlConnection myConnection = new SqlConnection(myConnectString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection);
 
④初始化具有查询文本、SqlConnection 和 Transaction 的 SqlCommand 类实例。
public SqlCommand(string, SqlConnection, SqlTransaction);
SqlTransaction myTrans = myConnection.BeginTransaction();
String mySelectQuery = "SELECT * FROM mindata";
string myConnectString = "user id=sa;password=;database=test;server=mySQLServer";
SqlConnection myConnection = new SqlConnection(myConnectString);
SqlCommand myCommand = new SqlCommand(mySelectQuery,myConnection, myTrans);
 
2.建立SqlCommand与SqlConnection的关联。
myCommand.Connection = myConnection;
或者:SqlCommand myCommand = myConnection.CreateCommand;
3.设置SqlCommand的查询文本。
myCommand.CommandText = "SELECT * FROM mindata";
或者第2种构造:SqlCommand myCommand = new SqlCommand(mySelectQuery);
给SqlCommand对象提供两个查询字符串,每个查询字符串访问不同的表,返回不同的结果集。
两个查询语句用分号分隔。
4. 执行命令。
ExecuteReader
返回一行或多行

ExecuteNonQuery
对 Connection 执行 Transact-SQL 语句并返回受影响的行数(int)

ExecuteScalar
返回单个值(如一个聚合值).返回结果集中第一行的第一列。忽略额外的列或行

ExecuteXmlReader
将 CommandText 发送到 Connection 并生成一个 XmlReader 对象。

SqlDataReader myReader = myCommand.ExecuteReader();
或SqlDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
while(myReader.Read()) //循环读取数据
   {
      Console.WriteLine(myReader.GetString(0));// 获取指定列的字符串形式的值
      Console.WriteLine(myReader. GetValue(1));// 获取以本机格式表示的指定列的值
    }
 
CommandText = "select count(*) as NumberOfRegions from region";
Int count = (int) myCommand.ExecuteScalar();
关于OleDbCommand对象的使用。
四.DataReader的使用
1.遍历结果集
while (myReader.Read())
Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));
myReader.Close();
 
2.使用序数索引器。
while (myReader.Read())
Console.WriteLine("\t{0}\t{1}", myReader[0].ToString(), myReader[1].ToString());
myReader.Close();

3.使用列名索引器。
while (myReader.Read())
Console.WriteLine("\t{0}\t{1}", myReader["code].ToString(), myReader["name"].ToString());
myReader.Close();
4.使用类型访问器。
public char GetChar(int i); 获取指定列的单个字符串形式的值
public DateTime GetDateTime(int i); 获取指定列的 DateTime 对象形式的值
public short GetInt16(int i); 获取指定列的 16 位有符号整数形式的[C#]
public string GetString(int i); 获取指定列的字符串形式的值

5.得到列信息。
myReader.FieldCount     获取当前行中的列数
myReader.GetFieldType(序号)   获取是对象的数据类型的 Type
myReader.GetDataTypeName(序号) 获取源数据类型的名称
myReader.GetName(序号)     获取指定列的名称
myReader.GetOrdinal(序号)   在给定列名称的情况下获取列序号

6.得到数据表的信息。
myReader.GetSchemaTable()   返回一个 DataTable
 
7.操作多个结果集。
myReader.NextResult()     使数据读取器前进到下一个结果集
do
{
while (myReader.Read())
Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));
}
while(myReader.NextResult());

五.DataAdapter

1.创建SqlDataAdapter
初始化 SqlDataAdapter 类的新实例。
public SqlDataAdapter();
将指定的 SqlCommand 作为SelectCommand 属性,初始化 SqlDataAdapter 类的新实例。
public SqlDataAdapter(SqlCommand);
用 selectcommand字符串 和 SqlConnection对象初始化SqlDataAdapter 类的新实例。
public SqlDataAdapter(string, SqlConnection);
用 selectcommand字符串 和 一个连接字符串 初始化SqlDataAdapter 类的新实例。
public SqlDataAdapter(string, string);

2.DataAdapter和SqlConnection,SqlCommand建立关联。
1.DataAdapter在构造参数时建立
2.SqlDataAdapter adapter = new SqlDataAdapter();
     adapter.SelectCommand = new SqlCommand(query, conn);

3.DataAdapter.Fill()方法。
在 DataSet 中添加或刷新行以匹配使用 DataSet 名称的数据源中的行,并创建一个名为“Table”的 DataTable。
public override int Fill(DataSet);
在 DataSet 中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
public int Fill(DataSet, string);

在 DataSet 的指定范围中添加或刷新行以匹配使用 DataSet 和 DataTable 名称的数据源中的行。
public int Fill(DataSet, int, int, string);

在 DataTable 中添加或刷新行以匹配使用 DataTable 名称的数据源中的行。
public int Fill(DataTable);

在 DataTable 中添加或刷新行以匹配使用指定 DataTable 和 IDataReader 名称的数据源中的行。
protected virtual int Fill(DataTable, IDataReader);
在 DataTable 中添加或刷新行以匹配使用 DataTable 名称、指定的 SQL SELECT 语句和 CommandBehavior 的数据源中的行。
protected virtual int Fill(DataTable, IDbCommand, CommandBehavior);
 
六.DataTable 类
七.DataColumn 类
八.DataRow 类
 
九.DataSet 类
1.创建DataSet 对象
初始化 DataSet 类的新实例。
public DataSet();

用给定名称初始化 DataSet 类的新实例。
public DataSet(string);

2.用DataAdapter填充DataSet
DataSet myds=new DataSet();
adapter.fill(myds)
adapter.fill(myds,”表名”); 用一个表去填充DataSet.
十. DataTableCollection 类。    表示 DataSet 的表的集合。
DataTableCollection dtc = ds.Tables;
DataTable table = dtc[“表名”];
String strExpr = "id > 5";
String strSort = "name DESC";
DataRow[] foundRows = customerTable.Select( strExpr, strSort,);
进行动态的筛选和排序。
DataTable.Select() 方法 : 获取 DataRow 对象的数组,
①获取所有 DataRow 对象的数组。
public DataRow[] Select();
②按主键顺序(如没有主键,则按照添加顺序),获取与筛选条件相匹配的所有 DataRow 对象的数组。
public DataRow[] Select(string);

③获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。
public DataRow[] Select(string, string);

④获取与排序顺序中的筛选器以及指定的状态相匹配的所有 DataRow 对象的数组。
public DataRow[] Select(string, string, DataViewRowState);
十一。DataView 类 : 是DataTable内容的动态视图。
1. 创建对象
初始化 DataView 类的新实例。
public DataView();
用指定的 DataTable 初始化 DataView 类的新实例。
public DataView(DataTable);
用指定的 DataTable、RowFilter、Sort 和 DataViewRowState 初始化 DataView 类的新实例。
public DataView(DataTable, string, string, DataViewRowState);

DataView myview = new DataView(ds.Tables["Suppliers"], "id > 5", "name DESC",
DataViewRowState.CurrentRows);

2 .得到DataView的行数据。
foreach (DataRowView myrowview in myview)
   {
     for (int i = 0; i < myview.Table.Columns.Count; i++)
        Console.Write(myrowview [i] + "\t");
     Console.WriteLine();
 

转载于:https://blog.51cto.com/58194/1148189

数据库开发个人总结(ADO.NET小结)相关推荐

  1. 跟着王进老师学开发C#篇第四季:ADO.NET数据库开发-王进-专题视频课程

    跟着王进老师学开发C#篇第四季:ADO.NET数据库开发-2054人已学习 课程介绍         Ado.net是一组向.Net程序员公开数据访问的类,它为创建分布式数据共享应用程序提供了一组丰富 ...

  2. !!! SQL 数据库开发基础 传智!

    SQL数据库开发和ADO.net DBMS 数据库管理系统 1.分类 Database(不同类放到不同的数据库里) 2,表table (列名(人的字段) 每一行就是一个对象(人)) 主键(Primar ...

  3. OPENCV+VS2008+SQLserver图片存储数据库开发

    2010-04-01 OPENCV+VS2008+SQLserver图片存储数据库开发 本人是做图像处理方向的,图像存储的数据库开发是一次尝试,开发平台用的是OPENCV+VS2008+SQLserv ...

  4. oracle数据库工程师的工资,数据库开发工程师工资待怎么样

    又到一年一度的毕业季,很多大学生都开始忙着找工作了.还有很多同学不太了解数据库开发工程师月薪是多少?工资待遇及前景怎么样?下面小编就详细和同学们说说. 数据库开发工程师职业介绍 数据库开发工程师是指设 ...

  5. 《传智播客.Net培训.net视频教程》(.net视频asp.net培训传智播客asp.net视频教程开放课程c#视频移动开发winform SQL ADO.Net HTML JavaScript

    本资源重要通知 2011年4月传智播客.Net培训-免费公开课现场视频 [重磅内容]微软移动开发介绍1-早起的鸟儿有食吃.rar 详情 53.2MB [重磅内容]微软移动开发介绍2-windows.p ...

  6. Access.2007数据库开发全书(奋斗的小鸟)_PDF 电子书

    中文名: Access2007数据库开发全书 作者: 王樵民 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 清华大学出版社 书号: 9787302184638 发行时间: 2008年 ...

  7. 数据库的ODBC连接,ADO和BDE有什么区别和联系?

    数据库的ODBC连接,ADO和BDE有什么区别和联系? 悬赏分:0 - 解决时间:2006-11-24 11:26 . 提问者: zwl232 - 助理 二级 最佳答案 ADO与BDE区别比较大的 A ...

  8. 上海数据库开发工程师的职业要求

    数据库开发工程师是指设计.开发.维护管理大型数据库的专业人才.第一类是MySQL,以自由软件为主,以社团式开发为代表.版本选择4.0,侧重于在Linux平台(RedHat8.0).MySQL数据库短小 ...

  9. Java学习中的数据库和数据库开发工具

    一.数据库 1.数据库,通常是一个戒一组文件,保存了一些符合特定规格的数据,数据库对应的英询单词是DataBase,简称DB:数据库软件称为数据库管理系统,英文简称DBMS,全称为DataBase M ...

最新文章

  1. 给wmnp升级php和nginx的方法
  2. php正则匹配多个,php – 将多个匹配正则表达式合并为一个并获得匹配的表达式...
  3. DLL load failed: The specified module could not be found
  4. Git tag 打标签
  5. 检查 Flutter 应用程序是否在 Web 上运行
  6. 计算机网络现在成功,百收计算机网络努力的人是怎么成功的
  7. The proctime attribute ‘rowtime‘ must not replace an existing field.
  8. mysql数据库备份 dump_MySQL数据库备份之mysqldump
  9. Linux学习134 Unit 8
  10. LintCode: Search A 2d Matrix
  11. 算法系列之图--DFS
  12. php大量数据库抽象,PHP系列(十二)数据库抽象层pdo
  13. centos overlay 占用很大_盘锦技术好的升降货梯占用空间小
  14. 使IE6支持PNG透明图片的JS插件
  15. DeveloperAppleHelp
  16. C语言中可变参数的宏 __VA_ARGS__
  17. ulead gif animator 5.11中文破解版|ulead gif animator绿色中文破解版下载 v5.11
  18. 计算机网络培训心得PPT,ppt培训心得体会(精选3篇)
  19. 使用ML.NET实现健康码识别
  20. DNS的作用和解析过程描述

热门文章

  1. Unix / Linux世界里的4-2-1
  2. WMI技术介绍和应用——查询时间信息
  3. Git使用常见问题解决方法汇总
  4. 对称加密算法之DES介绍
  5. 图像相似度计算之哈希值方法OpenCV实现
  6. 【Qt】Qt再学习(十):鼠标拖拽(dragdrop)QGraphicsItem示例
  7. 考研计算机专业课怎么复习,2016考研计算机专业课如何复习?
  8. 怎么在PHP植入音乐,PHP网站插入音乐
  9. 轮播图html_【技术篇前端】用html+css实现小米首页部分内容(含源码,不含轮播图)...
  10. 打包tomcat没有xml文件_Spring Boot 项目打包 War 并部署到 Tomcat