using System.Data;
using System.Data.SqlClient;
//先打开两个类库文件
SqlConnection con = new SqlConnection(); con.ConnectionString = "server=.;database=stu;uid=sa;pwd=sa";

连接字符串,也可以

con.ConnectionString = ConfigurationManager.ConnectionStrings["xxx"].ConnectionString;

配合在web.config中配置实现

<ConnectionStrings>

<add name="xxx"

connectionString="Data Source=000.000.000.000;Initial Catalog=xxx;User ID=xxx;Password=xxx; pooling=true;"
providerName="System.Data.SqlClient"/> <ConnectionStrings>

然后打开连接

con.Open();

接下来根据操作不同SqlDataAdapter和SqlCommand二选其一

ado.net数据访问有两种方式:

1.离线--通过DataSet,然后离线增,删,改,最后通过SqlDataAdapter解 析到数据库中

DataSet是离线的,而SqlDataAdapter是连接DataSet和数据库的桥梁,所有对DataSet的操作(填充,更新等)都要通过他。

即SqlDataAdapter+DataSet访问数据库

2.直接对数据库操作SqlCommand (Update,Insert,Delete)

二者之间的详细区分如下:

SqlCommand是命令,可以用它来执行SQL命令

SqlDataAdapter是数据适配器,是用于在数据源(数据库)和数据集(DataSet)之间通讯的一组对象

SqlCommand对应DateReader

SqlDataAdapter对应DataSet

SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已;

SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand

SqlCommand与ADO时代的Command一样,SqlDataAdapter则是ADO.NET中的新事物,它配合DataSet来使用。

DataSet就像是驻留在内存中的小数据库,在DataSet中可以有多张DataTable,这些DataTable之间可以相互关联,就像在数据库中表关联一样

SqlDataAdapter的作用就是将数据从数据库中提取出来,放在DataSet中,当DataSet中的数据发生变化时,SqlDataAdapter再将数据库中的数据更新,以保证数据库中的数据和DataSet中的数据是一致的

如果只需要执行SQL语句,就没必要用到DataAdapter ,直接用SqlCommand的Execute系列方法就可以了。

sqlDataadapter的作用是实现Dataset和DataBase之间的桥梁:比如将对DataSet的修改更新到数据库。

SqlDataAdapter的UpdateCommand的执行机制是:
当调用SqlDataAdapter.Update()时,检查DataSet中的所有行,然后对每一个修改过的Row执行SqlDataAdapter.UpdateCommand
也就是说如果未修改DataSet中的数据,SqlDataAdapter.UpdateCommand不会执行。

例如使用SqlDataAdapter 对象,一般就要用于填充DataSet:

 con.Open();
DataSet ds = new DataSet();
try
{
SqlCommand cmd = new SqlCommand(sql, Connection);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(ds);
}
catch (Exception e)
{ }
finally
{
con.Close();
}

例如SqlDataReader 对象, 用于执行对数据库的直接一次性操作

using (SqlConnection con = new SqlConnection(s))
using (SqlCommand command = new SqlCommand("select * from xxx", con))
{
con.Open();
command.Parameters.Add("@u", SqlDbType.Char).Value = uuu;
SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader["字段名"].toString());
.......
}
}

最后关闭连接

con.Close();

C#-Database-连接的更多相关文章

  1. Intellij Idea 配置database 连接SQL Server 2012

    首先确认通过TCP IP来连接连接SQLServer 2012     确保 Server Authentication选择了SQL Server and Windows Authentication ...

  2. phpstorm利用database连接mysql数据库

    首先声明一点,database只能连接一个已存在的数据库,不能创建数据库 连接一个已存在的数据库步骤: 1,找到database:连续点击俩次shift,输入database就能找到了 2,点击绿色的 ...

  3. IntelliJ IDEA集成工具Database连接MySQL8.0报错的解决方法

    直接用默认配置连接的话,会报以下错误: Connection to MySQL - @localhost failed. [08001] Could not create connection to ...

  4. pycharm的Database连接新的Mysql5.7报错[08001]

    在URL的后面增加参数: ?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 解决. 原因是虽然mysql5.7的s ...

  5. PowerDesigner连接MySQL,建立逆向工程图解

    传说中,程序员们喜欢用powerDesign进行数据库建模.通常都是先设计出物理模型图,在转换出数据库需要的SQL语句,从而生成数据库.但,江湖中流传着"powerDesign逆向工程&qu ...

  6. Oracle Standby Database 实现方案

    Oracle Standby Database 实现方案  From: http://wanow.blog.hexun.com/4672755_d.html 字号:大 中 小 版本:V20060328 ...

  7. Delphi 7连接MySql 5.5.15

    原文:http://blog.csdn.net/akof1314/article/details/6822902/ 网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的 ...

  8. Java连接MySQl数据库实现代码

    1. 获取数据库连接和查询代码 package connectionmysql; import java.sql.Connection; import java.sql.DriverManager; ...

  9. php中数据库服务器连接类库文件的编写

    <!--数据库服务器连接类库文件的编写--> <?php class mysql{ //连接服务器.数据库以及执行Sql语句的类库 public $database; public ...

  10. How do I copy SQL Azure database to my local development server?(如何将Azure 中的数据库备份到本地)

    Now you can use the SQL Server Managerment Studio to do this: Connect to the SQL Azure database. 通过 ...

随机推荐

  1. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  2. cacti 流量图合并

    cacti 安装:https://www.cnblogs.com/weijie0717/p/4072711.html 一.需求介绍 由于交换机的多端口跑同一种流量,需要汇总统计.因此需要见多个端口的流 ...

  3. PowerScript表达式

    运算符 算术运算符 双目运算符 运算符 名称 示例 说明 ^ 乘方 3^2   + 加 i_age+1   - 减 i_age - 1   * 乘 l_w*3   / 除 i_w/3   = 赋值 i ...

  4. uni-app

    1 路由的跳转 uni.navigateTo({ url:'/pages/home/search' }); //非tabBar页面跳转 uni.switchTab({ url:"/pages ...

  5. Codeforces Round #553 (Div. 2) C题

    题目网址:http://codeforces.com/contest/1151/problem/C 题目大意:给定奇数集和偶数集,现构造一个数组,先取奇数集中一个元素1,再取偶数集二个元素2,4,再取 ...

  6. pythone函数基础(14)发送邮件

    导入yagmail模块import yagmailusername='uitestp4p@163.com'password='houyafan123'#生成授权码,qq.163.126都是授权码 ma ...

  7. 测H5

    如果原文本自带样式,需要测在h5里能否正常展示

  8. Zookeeper使用--命令行

    一.前言 在学习了Zookeeper相关的理论知识后,下面接着学习对Zookeeper的相关操作. 二.Zookeeper部署 Zookeeper的部署相对来说还是比较简单. Zookeeper有三种 ...

  9. spring.boot 无法加载oracle驱动的可能原因

    .找到本地oracle安装目录下的ojdbc6.jar包,为了方便起见,复制到某盘的根目录(如F盘根目录),在cmd下进入F盘根目录(也就是ojdbc.jar复制的目录),同时我们需要查看ojdbc的 ...

  10. C#事务提交

    using (System.Transactions.TransactionScope transcope = new System.Transactions.TransactionScope()) ...