数据库开发个人总结(ADO.NET小结)
一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.SqlClient; 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
相关文章:

PHP 调用C的代码
用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。 system()方法输出并返回最后一行的shell结果。 exec()不输出结果,返回最后…

态势“知”多少,点开就知道
2019独角兽企业重金招聘Python工程师标准>>> 态势感知,最核心的是“知” 关于“知” 典故不少 《孙子兵法》六千多字,“知”出现了79次,只有《势篇》与《行军篇》中没有“知”字。 史称两个半完人之一的王阳明 在经过五溺三变的曲…

17 种正则表达式
作者:http://blog.csdn.net/hivak47/archive/2004/10/31/161006.aspx"^/d$" //非负整数(正整数 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d)|(0))$" //非正整数(负整数 0)…
程序员如何乘风破浪?从数据库历史看技术人发展 | CSDN 高校俱乐部
2009 年我国数据库软件市场规模为 35.03 亿元,2017 年我国数据库软件市场规模增长至 120.00 亿元。8年时间内,我国数据库软件市场始终保持平稳增长,年均复合增长率为 17.5%,且增速呈现递增趋势。根据中研产业研究院估计࿰…

陶哲轩实分析 定理 13.3.5 :紧致度量空间上的连续函数一致连续
设 $(X,d_X)$ 和 $(Y,d_Y)$ 都是度量空间,假定 $(X,d_X)$ 是紧致的,如果 $f:X\to Y$ 是函数,那么 $f$ 是连续的当且仅当 $f$ 是一致连续的.证明:当 $f$ 是一致连续时,$f$ 显然是连续的.我们主要证明 $f$ 连续时一致连续.我们采用反证法,假若 $f$ 不是一致收敛的,意味着无论如何…

SQLServer------插入数据时出现IDENTITY_INSERT错误
详细错误信息: 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 Student 中的标识列插入显式值。 原因: 表中存在某个字段是自动增长的标识符 解决方法: set IDENTITY_INSERT Student ON //设置为OFF时表示不能手动给拥有标识符的列插…

ASP.NET 制作让搜索引擎可以友好访问的链接
作者:http://www.donews.net/lealting/archive/2004/03/31/9759.aspx今天看了一篇文章,主要是讲,如何制作让搜索引擎可以友好访问的链接,大概的内容是这样的:很多的时候我们在进行查询的时候,总是会以这样的…
机器学习中的7种数据偏见
作者 | Hengtee Lim翻译 | Katie,责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国机器学习中的数据偏差是一种错误,其中数据集的某些元素比其他元素具有更大的权重和或表示。有偏见的数据集不能准确地表示模型的用例,从而导致结果…

windows7 下arp 绑定的实现
局域网的arp***常常让人头痛,绑定IP/MAC地址是解决方式之一; 在xp下面绑定mac地址很简单,只需“arp -s IP地址 MAC地址 ”就ok, 在win7下的命令有所不同; 首先,需要查看可用网卡的id,使用命令n…

Asp.net(c#)实现多线程断点续传
http://www.cnblogs.com/bestcomy/archive/2004/08/10/31950.html以前一直错误的认为在ASP.NET中无法通过编程方式实现多线程断点续传,今天终于获得了这样一个解决方案,让我明白要学习的东西还很多。此解决方案基于其它解决方案及相关资料,根…
0.7秒完成动漫线稿上色,爱奇艺发布AI上色引擎
出品 | AI科技大本营(ID:rgznai100)中国漫画的需求量在不断增加,而动漫制作成本一直居高不下。究其原因为动漫制作是一个复杂且耗时的过程,需要大量工作人员在不同阶段进行协作。动漫制作过程中,需先创作关键帧草图&am…

Java Web整合开发读书笔记
下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 下载Eclipse: http://www.eclipse.org/downloads/ 下载Tomcat: http://tomcat.apache.org/download-70.cgi 正则表达式:http://www.cnblogs.com/deerchao…
ListView中CheckBox使用问题
因为CheckBox的点击事件优先级比ListView的高,所以当ListView中使用CheckBox会导致ListView的setOnItemClickListener失去响应。 解决的方法:在CheckBox中加入android:focusable"false"。使得CheckBox初始的时候没有获取焦点。 假设想在单击C…

网页播放的视频代码
网页播放的视频代码 第一种是通过调用window media player进行播放诸如:wmv,asf等格式文件: <object alignmiddle classOBJECT classidCLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 height320 idMediaPlayer width356> <param name"ShowStatusBar…

[Ruby] 模块
1. 命名空间模块定义了一个命名空间,方法和常量可以在其中任意使用而不必担心被其他方法或常量干扰,例如:module Testdef Test.method()end end模块常量的命名和类常量一样,都以大写字母开头,方法定义类似于类方法的定…
10个工程师,9个不合格!
如果你想问最近这些年什么编程语言最值得学习,我会毫不犹豫的告诉你是Python。无论是刚入门的程序员,还是年薪BATJ的技术大牛,都无可否认现在Python对于一个程序员职业发展的重要性。所以不仅是开发小白,甚至很多开发老手…

云计算(2)it 是什么
2015年,全世界在it上面的花费达到3亿8千亿美金之多。 云数据中心:核心基础架构,云计算的物理载体,提供数据处理、存储和高性能计算支撑,包括服务器、存储、冷却、机房空间和能耗管理等。 超大规模的云数据中心…
大批量生成假数据,faker.js获得近28k个Star
整理 | 夕颜图源 | 视觉中国来源 | CSDN(ID:CSDNnews)近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27.1k。只需要简单几步操作,就可以在浏览器和node.js中生成大…

C++代理类,句柄(智能指针)_C++沉思录笔记
代理类 首先定义三个类: class Animal{ public:virtual void getName()0;virtual void clone()0; };class Cat:public Animal{ public:void getName(){cout<<"this is Cat"<<endl;}Animal* clone(){return new Cat;} };class Dog:public Animal{ public:…

浅析C语言的一个关键字——register
1、register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码, /* Procedure for the assignment of structures, */ /* if the C compiler doe…

《Haskell趣学指南》—— 第1章,第1.2节小朋友的第一个函数
本节书摘来自异步社区《Haskell趣学指南》一书中的第1章,第1.2节小朋友的第一个函数,作者 【斯洛文尼亚】Miran Lipovaca,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.2 小朋友的第一个函数函数的声明与它的调用形式大体相同&…

ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
关键字:DataGrid、存储过程、分页出自: http://blog.csdn.net/yzx110/archive/2004/08/18/78525.aspx摘要:在最进的一个项目中因为一个管理页面要管理的数据量非常大,所以必须分页显示,并且不能用DataGrid的内置分页功能,于是自己实现分页. 下…
看清头秃元凶,腾讯AI首度揭示真相
出品 | AI科技大本营(ID:rgznai100)11月17日,腾讯公布了一项人工智能助力药物发现的新进展。通过腾讯自研的提升蛋白质结构预测精度的新方法,联合研究团队首次解析了II型5a还原酶(SRD5A2)的三维结构&#x…

UNIX--stat、fstat和lstat函数
2019独角兽企业重金招聘Python工程师标准>>> stat、fstat和lstat函数(UNIX) #include #include int stat(const char *restrict pathname, struct stat *restrict buf); 供给文件姓名,获取文件对应特点。感受通常是文件没有翻开的时分这样操作。 int fst…

UVA 1482 - Playing With Stones(SG打表规律)
UVA 1482 - Playing With Stones 题目链接 题意:给定n堆石头,每次选一堆取至少一个。不超过一半的石子,最后不能取的输,问是否先手必胜 思路:数值非常大。无法直接递推sg函数。打出前30项的sg函数找规律 代码ÿ…
Google和网易有道合作开课了
11月16日,2020年Google开发者大会正式开幕。受疫情影响,本次大会首次以线上形式举办,这也是Google首次以全线上形式与中国开发者相聚。本届大会主题聚焦“代码不止”,其中“学习”成为本次大会重要板块之一。在该主题下࿰…

Node.js v0.10版本发布
Node.js研发团队发布了node.js v0.10版本,它是个基于Javascript、用于构建高性能异步服务器的平台。该版本主要更新如下:更易于使用的数据流处理模块,通过域更好地处理错误,此外还带来了性能方面的提升。该团队还宣布在v0.10之后、…

动手扩充FreeTextBox的功能
作者:朱俊代码:C#关键字:FreeTextBox、流媒体出自:http://blog.csdn.net/foxmail/archive/2004/08/21/81096.aspx摘要:最近一个项目要求可以在发表文章的时候能发布电影,当然不可能叫用户去写HTML代码了&am…

《防患未然:实施情报先导的信息安全方法与实践》——3.3 攻击剖析
本节书摘来自华章计算机《防患未然:实施情报先导的信息安全方法与实践》一书中的第3章,第3.3节,作者:[美] 艾伦利斯卡(Allan Liska) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 3.3 攻击剖析 为了开发更…

c#.net常用函数和方法集
1、DateTime 数字型 System.DateTime currentTime new System.DateTime(); 1.1 取当前年月日时分秒 currentTimeSystem.DateTime.Now; 1.2 取当前年 int 年currentTime.Year; 1.3 取当前月 int 月currentTime.Month; 1.4 取当前日 int 日currentTime.Day; 1.5 取当…