数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录。

ADO.NET基础

     它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口。

在VS中也可以添加数据库,也可以在其中使用SQL语句,不需要在sql数据库中创建,这样用起来就特别方便,便于数据库的快速读取。<基于服务的数据库> 

      在VS中创建的mdf和数据库中的一样,它跟随着项目走,用起来方便运行时会自动附加(Attach)。打包时首先关闭mdf与数据库的连接,才行。

{ado.net提供两个组件可以使得程序访问和处理数据  1:.NET Framework数据提供程序和DataSet(数据集)}

其中.NET Framework数据提供程序是专门为数据处理,以及快速的只进,只读访问数据设计的组件,使用其可以连接到数据库,执行命令和检索结果,直接对数据库进行操作等。而DataSet则是专门为独立于任何数据源而设计的,使用其可以不直接与数据库打交道,可以大批的处理数据,也可以将数据绑定在控件上面。

   【现在运行的SQL数据库在VS中就得使用System.Data.SqlClient命名空间代码】

**.NET Framework数据提供程序的4个核心对象

         1:Connection对象  用于与特定数据源的联系。

         2:Command对象   用于对数据源执行命令。

         3:DataReader对象  用于从数据源中读取只进且只读的数据源。

         4:DataAdapter对象 用于用数据源填充DataSet并解析更新。

连接SQL Server

   程序通过在vs的服务器资源管理器来连接SQL数据库的信息。示例如下

一: 视图----服务器资源管理器

二:服务器资源管理器------右键-----添加连接 [在选择如下图到---------添加连接窗口]示例如下

三:添加连接------执行下面的步骤(切记一定要先测试,还有本地的服务器名为:‘.’或者为:‘local’)

四:这样就在右边的服务器资源管理器中可以找到自己要添加的数据库啦。

代码访问到SQL

在vs代码中操作数据库表中的数据,我们可以通过下面的代码来进行;

首先创建个控制台程序的项目,我们在其中加入如下的代码。

连接数据库的三步骤  [一二部可以交换]

   1:定义连接字符串。{不同的数据库的连接字符串的格式有所不同}。

    “sql数据库的格式”

    string  connString= Data Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Pwd=密码;

   2:创建Connection对象,使用定义好的连接字符串来创建Connection对象。

    SqlConnection connection=new SqlConnection(connString);

3:打开数据库的连接。调用Conncection对象的Open()方法打开数据库连接

    connection.open();

到这里数据库就算是连接成功了,下来我们就可以进行对数据库的操作了。

eg :

static void Main(string[] args)
  {
      //数据库连接字符串
      string connString = "Data Source=zhanghui;  Initial Catalog=Ahui;  User ID=sa; Pwd=111";
      //创建数据库连接
      SqlConnection conn=new SqlConnection(connString);
      //打开数据库
      conn.Open();
      Console.WriteLine("打开成功");
      Console.ReadKey();

认识Command对象

建立数据库连接,打开数据库后,操作数据库就用到了Commamd对象(Command:命令),使用Command对象可以对数据库执行增删改查的命令。

要使用Command对象,必须有一个可用的Command对象

Command的四步骤

1:创建数据库连接

2:定义执行的SQL语句,需要将对数据库执行的SQL语句赋值给一个字符串。

3:创建Command对象,使用已有的Connection和SQL语句字符串来创建Command对象。

4:执行SQL语句。调用Command对象的某个命令来执行命令。

eg  one  :

private void btnConnection_Click(object sender, EventArgs e)
{
    //数据库连接字符串
    string connString = "Data Source=zhanghui;Initial Catalog=Ahui;User ID=sa;Pwd=111";
    //创建数据库的连接
    SqlConnection connection = new SqlConnection(connString);
   //打开数据库
     connection.Open();
   //使用command对象可以对数据库执行增删改查的命令。   
    using (SqlCommand cmd=connection.CreateCommand())       //CreateParameter为创建SqlParameter对象的新实例。
        {
            cmd.CommandText = "Insert into Student(Name,Age,Gender,Math,Chinese) values('abc',18,'女',100,'日本')";

//CommandText:获取或设置要对数据源执行的Transact-SQL语句或存储过程
            cmd.ExecuteNonQuery();            //对Connection执行Transant-SQL语句并返回受影响的行数。
            MessageBox.Show("插入成功");
        }
   
         MessageBox.Show("成功");

eg two:

在一个表中插入数据。之后显示插入成功。

eg:

Console.WriteLine("请输入用户名");
string username = Console.ReadLine();
Console.WriteLine("请输入密码");
string password = Console.ReadLine();
//数据库连接字符串
string connString = "Data Source=zhanghui;  Initial Catalog=Ahui; User ID=sa;Pwd=111";
//创建数据库连接
SqlConnection conn = new SqlConnection(connString);
conn.Open();                     //打开数据库;
using (SqlCommand ked = conn.CreateCommand())
{
    ked.CommandText = "Insert into Student(Name,Age)    values('  " + username + "  ', '  " + password + "  ')";
    ked.ExecuteNonQuery();
    Console.WriteLine("插入成功");
}
Console.WriteLine("打开数据库连接成功");
Console.ReadKey();

eg three:

在前台显示数据库中的数据。

eg:

string connString = "Data source=zhanghui;  Initial Catalog=Ahui;  User ID=sa;  Pwd=111";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
using (SqlCommand ka = conn.CreateCommand())
{
    ka.CommandText = "select * from Student";
    using (SqlDataReader reader = ka.ExecuteReader())
    {
        while (reader.Read())
        {
            //  int kk = Convert.ToInt32(reader.GetInt32(1));

Console.WriteLine(reader.GetString(reader.GetOrdinal("Name")));
        }
    }

}
Console.WriteLine("ok");
Console.ReadKey();

今天就记录到这,明天继续,加油。终有一天会成为大神。

 

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

  1. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  2. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

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

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

  4. 有关ADO.NET基础中的基础的熟悉过程

    现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...

  5. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

  6. ADO.NET基础开发

    ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...

  7. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  8. day33-线程基础03

    线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...

  9. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

随机推荐

  1. Arcgis –>ArcToolBox 有些工具不能用,没有许可

    问题描述 错误信息: You do not have the necessary license to execute the selected tool   我3D Analyst是有许可的.   ...

  2. Javascript自己动手实现getter/setter

    虽然ES5中为我们提供了Object.defineProperty方法来设置getter与setter,但此原生方法使用起来并不方便,我们何不自己来实现一个类,只要继承该类并遵循一定的规范就可以拥有媲 ...

  3. FusionCharts简单教程(六)-----如何自定义图表上的工具提示

          所谓图表上的工具提示就是当鼠标放在某个特定的数据块上时所显示的提示信息.如下: 禁用显示工具提示       在默认情况下工具提示功能是显示的,但是有时候我们并不是很想需要这个功能提示功能 ...

  4. Winform文件下载之WebClient

    最近升级了公司内部使用的一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下 ...

  5. Redis学习笔记~分布式的Pub/Sub模式

    回到目录 redis的客户端有很多,这次用它的pub/sub发布与订阅我选择了StackExchange.Redis,发布与订阅大家应该很清楚了,首先一个订阅者,订阅一个服务,服务执行一些处理程序(可 ...

  6. Java程序员的日常 —— 《编程思想》持有对象

    集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合.下面就简单介绍下各种集合的使用场景: List List可以看做是数组,实现的方式有两种: ArrayList ...

  7. Python - 001 - 类与实例间属性的理解

    Python是个很灵活的语言,光看它的类和实例间属性的访问机制就可以看出这一点,不过这一点还真的不好理解,做了些测试之后我的理解是这样的: 实例在访问class属性时,先检索自己的names, 如果有 ...

  8. 重构Mybatis与Spring集成的SqlSessionFactoryBean(1)

    一般来说,修改框架的源代码是极其有风险的,除非万不得已,否则不要去修改.但是今天却小心翼翼的重构了Mybatis官方提供的与Spring集成的SqlSessionFactoryBean类,一来是抱着试 ...

  9. leancloud 用户登录(调用API) 教程

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; ...

  10. Web Workers 的基本信息

    问题:JavaScript 并行性 要将有趣的应用(例如从侧重服务器端的实施)移植到客户端 JavaScript,存在很多制约瓶颈.其中包括浏览器兼容性.静态类型.可访问性和性能.幸运的是,随着浏览器 ...