数据库中数据的导入导出

  在使用一些数据库时,很多时候都要将文件导入导出到指定的文件夹中;

数据的导入导出就必须用到stream函数,这就必须用到Using System.IO的命名空间;

**在数据库的连接问题上,不要每次都重新创建连接,因为它是非常耗时的;

eg one :

private void button1_Click(object sender, EventArgs e)
    {
        if (odfImport.ShowDialog() == DialogResult.OK)
        {
            using (FileStream fileStream = File.OpenRead(odfImport.FileName))
            {
                using (StreamReader streamReader = new StreamReader(fileStream))
                {
                    string Line = null;
                    while ((Line = streamReader.ReadLine()) != null)
                    {
                        string[] strs = Line.Split(' ');
                        string name = strs[1];
                        int age = Convert.ToInt32(strs[2]);
                        string connection = "Data Sources=zhanghui; Initial Catalog=Ahui;User ID=sa;Pwd=111;";
                        using (SqlConnection conn = new SqlConnection(connection))
                        {
                            conn.Open();
                            using (SqlCommand cmd = conn.CreateCommand())
                            {
                                cmd.CommandText = "Insert into T_User(Name,Age) values(@Name,@Age)";
                                cmd.Parameters.Clear();
                                cmd.Parameters.Add(new SqlParameter("Name", name));
                                cmd.Parameters.Add(new SqlParameter("Age", age));
                                cmd.ExecuteNonQuery();
                            }
                        }
                    }
                }
            }
        }
        MessageBox.Show(@"插入成功");
    }

二:读取配置中的连接字符串

一:添加App.config文件

在资源管理器中的----引用中右键就可以添加------找到system.configuration

二:在app.config文件中添加

<configuration>

<add name=”ConStr”connectionString=”Data Source=zhanghui; Initial Catalog=Ahui;  User ID=sa; Pwd=111”/>

</configuration>

三:在主函数中引用

string ConStr=configurationMangager.configurationString[“ConStr”].configurationString;

eg one:

//数据库连接字符串
string connString = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
//string connString = "Data Source=zhanghui;  Initial Catalog=Ahui;  User ID=sa; Pwd=111";
//string connString = @"Data Source=(LocalDB) 11.0;  AttachDbFilename=""D:\VS2008\Projects\ADO.NET\ado.net文件\Database1.mdf"";  Integrated Security=True;User Instance=True";
//string con = @"Data Source=(LocalDB)\v11.0;AttachDbFilename='D:\VS2008\Projects\ADO.NET\ado.net 文件\Database1.mdf ';Integrated Security=True;User Instance=True";
//创建数据库连接
SqlConnection conn = new SqlConnection(connString);
//打开数据库
conn.Open();
Console.WriteLine("打开成功");
Console.ReadKey();

app.config文件

<connectionStrings>
  <add name="ConStr" connectionString="Data Source=zhanghui; Initial Catalog=Ahui; User ID=sa; Password=111 "/>
</connectionStrings>

在程序中要学会使用配置文件,这样字程序就会变得很容易执行。

学习封装

//params 可变的参数,用其定义的变量的数是可变的,常用在多个数的传参的时候。
封装的意思就是将程序中经常用到的代码放在一个方法中,用的时候直接调用就行。

DataSet

   每次读取数据都需要创建连接数据库,和麻烦,我们可以创建一个类,将其封装起来,用的时候直接调用就行。这样子就方便了很多。

SqlDataSet是连接相关的,SqlDataSet中的查询结果并不是放到程序中的,而是放在数据库的服务器上的,而这个SqlDataSet就相当于一个指针

只能读取当前指向的行,一担和数据库断开连接就不能再读取。{好处:无论读取的数据有多少条对于程序占用的内存几乎没有什么影响。

   SqlDataAdapter是DataSet和数据库之间的连接的桥梁,数据集DataSet包含若干表DataTable,而DataTable里面包含若干行,DataRow。

eg:

当数据库开一定的时间,要重启一下,在使用。

对于数据库来说,连接是非常宝贵的资源,用完之后一定要dispose掉。

DataSet的更新

一:利用到了Update的修改,这样子就能修改到服务器里面的数据。

//下面的两个修改只是修改了本地内存中存储的数据,没能修改到服务器里面的数据。
                  row["UserName"] = "huoooo";
                 
                  //修改服务器里面的数据,就要用到VS里面内置的"Update"来修改;
                  SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                  adapter.Update(dataset);

MessageBox.Show("修改成功");

二:可空的数据类型

正确的表示:

string s1=null;

int i1=0;

错误的表示:int i2=null;

修改后的可空数据类型:int? i1=null;

                                          int? i2=0;

// :int?—>可空的int,解决数据库和C#对于int是否可以为null的不同所设置。

三:弱类型的坏处

1:只能取出列名,而且只能在前台显示的时候看到。

2:取到的字段是object类型,要使用的话要进行类型转换。

3:数据绑定很麻烦,无法使用ASP.NET等快速开发工具。

四:DataSet的要点

1:这个数据集可以理解为一个简单的数据库,这个数据库在计算机内存中保存,可以对其进行修改,之后通过程序在将其更新到服务器中。【数据集是独立于任何数据库的】 

2:【DataSet数据集】的作用是临时存储数据,【DataAdapter数据适配器】的作用是把数据集和服务器的数据进行替换,更新。

五:使用using语句

1:不用关闭数据库,using自动就关闭了,很方便。using语句容许程序员指定资源的对象应当何时释放资源,该语句定义了一个范围,在此结束时就将其释放。

using()

{

//打开数据连接。

}

 

ADO.NET基础01的更多相关文章

  1. ADO.NET基础01(ADO.NET组成,数据库的方式,SqlCommand,SqlDataReader)

    什么是ADO.NET: ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSS ...

  2. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  3. ADO.NET基础03

    数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础      它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...

  4. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  5. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  6. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  7. 可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术

    可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术 前言 如果,我们只给出一个数学问题的(比如一道数独题)约束条件,是否有程序可以自动求出一个解? 可满足性模理论(SMT - Sat ...

  8. .Net Core 系列:2、ADO.Net 基础

    目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...

  9. LibreOJ 2003. 「SDOI2017」新生舞会 基础01分数规划 最大权匹配

    #2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...

随机推荐

  1. WCF 数据服务 4.5

    .NET Framework 4.5 其他版本 WCF 数据服务(以前称为"ADO.NET Data Services")是 .NET Framework 的一个组件.可以使用此组 ...

  2. Android ImageView src与backgroud

    在XML中添加ImageView时,有两个可以设置图片的地方,一个是android:src,一个是android:background,这两个的区别: src是图片内容,显示在前面的,backgrou ...

  3. 卖萌的极致!脸部捕捉软件FaceRig让你化身萌宠

    FaceRig是一款以摄像头为跟踪设备捕捉用户脸部动作并转化为数据套用在其他动画模型上的一款软件,能够应用于一些日常的视频社交软件或网站,比如视频通话软件Skype和直播网站Twitch.FaceRi ...

  4. chm格式文件能打开,但看不到内容问题

    是chm格式的能打开文件,也能看到左边的目录信息,但是无法显示右面的具体内容.报错:无法显示网页.错误页面的url是:res://C:WINDOWSsystem32shdoclc.dll/dnserr ...

  5. dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1

    转自:http://www.cnblogs.com/_popc/p/4053593.html 今天使用数据库查询工具DBvis链接mysql数据库时, 发现执行如何sql语句, 都报如下错误: 后来想 ...

  6. 图解 Java IO : 二、FilenameFilter源码

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  7. 15个实用的CSS在线实例教程

    前端技术可以说是必须学习的一个技术,现在做网站都需要懂DIV.CSS,在国内很多企业招网页设计师都要求会写基本的前端代码,所以前端技术是 必须了解的,对网页设计师本身也有帮助,今天向大家推荐一些不错的 ...

  8. SPF 简介

    SPF 简介 摘要: SPF 是发送方策略框架 (Sender Policy Framework) 的缩写,希望能成为一个防伪标准,来防止伪造邮件地址.这篇文章对 SPF 进行了简单介绍,并介绍了它的 ...

  9. Linux 学习碎片

    1.登录远程机器: ssh 远程机器用户名@远程机器IP ssh root@192.168.1.101 2.不同机器之前拷贝文件 #拷贝本机单个文件到远程服务器 scp /home/user1/tb. ...

  10. C#创建windows服务并定时执行

    一.创建window服务 1.新建项目-->选择Windows服务.默认生成文件包括Program.cs,Service1.cs 2.在Service1.cs添加如下代码: System.Tim ...