C#-Database-连接
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-连接的更多相关文章
- Intellij Idea 配置database 连接SQL Server 2012
首先确认通过TCP IP来连接连接SQLServer 2012 确保 Server Authentication选择了SQL Server and Windows Authentication ...
- phpstorm利用database连接mysql数据库
首先声明一点,database只能连接一个已存在的数据库,不能创建数据库 连接一个已存在的数据库步骤: 1,找到database:连续点击俩次shift,输入database就能找到了 2,点击绿色的 ...
- IntelliJ IDEA集成工具Database连接MySQL8.0报错的解决方法
直接用默认配置连接的话,会报以下错误: Connection to MySQL - @localhost failed. [08001] Could not create connection to ...
- pycharm的Database连接新的Mysql5.7报错[08001]
在URL的后面增加参数: ?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 解决. 原因是虽然mysql5.7的s ...
- PowerDesigner连接MySQL,建立逆向工程图解
传说中,程序员们喜欢用powerDesign进行数据库建模.通常都是先设计出物理模型图,在转换出数据库需要的SQL语句,从而生成数据库.但,江湖中流传着"powerDesign逆向工程&qu ...
- Oracle Standby Database 实现方案
Oracle Standby Database 实现方案 From: http://wanow.blog.hexun.com/4672755_d.html 字号:大 中 小 版本:V20060328 ...
- Delphi 7连接MySql 5.5.15
原文:http://blog.csdn.net/akof1314/article/details/6822902/ 网上有很多关于Delphi连接MySql数据库的文章,在这里,我只记录下自己测试过的 ...
- Java连接MySQl数据库实现代码
1. 获取数据库连接和查询代码 package connectionmysql; import java.sql.Connection; import java.sql.DriverManager; ...
- php中数据库服务器连接类库文件的编写
<!--数据库服务器连接类库文件的编写--> <?php class mysql{ //连接服务器.数据库以及执行Sql语句的类库 public $database; public ...
- 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. 通过 ...
随机推荐
- React-Native android 开发者记录
1.安装 安装步骤不多废话,按照官网步骤执行即可 安装完之后,react-native run-android发现报错,页面出不来 Error: Unable to resolve module `. ...
- java第六章异常
异常: 程序运行一旦出现异常程序就会立刻结束不在向下运行 处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行 try-catch-finally-thr ...
- Python小白自问自答
1. 问:python怎么查看命令的含义和用法? 答:查一些简单命令的含义以及用法,直接help(命令)就行了.例如直接输入help(input),这表示查input的用法. 例子如下: help(p ...
- 【Spring学习】Spring的源码解析之路 ——【step1】基础环境配置 + IDEA快捷键整理
前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:==== ...
- canvas中插入的图片 自适应 ?
注意 不是用canvas画图 是在canvas中插入图片 我很是惊讶 为啥明明img标签就能解决的非要用canvas 不过别人写好的 我一般不会动 需求是 canvas中的图片自适应不能拉伸…… 老 ...
- after及before伪元素及解决父元素塌陷的几种方法
一.伪类和伪元素 CSS中伪类和伪元素有很多,也很好用!如果熟练使用的话可以解决很多问题 首先明白什么是伪类:伪类是基于当前元素的状态,而不是元素的id class等静态标志,它是动态变化的,它会在一 ...
- 【漫画】程序员永远修不好的Bug——情人节
盼望着,盼望着,周五来了 情人节的脚步近了 一切都像热恋时的样子 飘飘然放开了买 购物车满起来了…… 不要指望着能在女生面前蒙混过关 是时候展现真正的技术了 这道坎过去了是情人节 过不去就是清明节了 ...
- jquery瀑布流排列样式代码
<!DOCTYPE html><html><head lang="en"> <meta charset="gb2312" ...
- php实现下载模板与上传模板解析
<? //下载模板的请求 if(isset($_GET['action']) && $_GET['action'] =='down_group_excel'){ $code = ...
- java 多线程中的wait方法的详解
java多线程中的实现方式存在两种: 方式一:使用继承方式 例如: PersonTest extends Thread{ String name; public PersonTest(String n ...