数据库和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. Linux 网络编程(IO模型)

    针对linux 操作系统的5类IO模型,阻塞式.非阻塞式.多路复用.信号驱动和异步IO进行整理,参考<linux网络编程>及相关网络资料. 阻塞模式 在socket编程(如下图)中调用如下 ...

  2. 通过Measure & Arrange实现UWP瀑布流布局

    简介 在以XAML为主的控件布局体系中,有用于完成布局的核心步骤,分别是measure和arrange.继承体系中由UIElement类提供Measure和Arrange方法,并由其子类Framewo ...

  3. MySQL1:MySQL函数汇总

    前言 MySQL提供了众多功能强大.方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求.本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时 ...

  4. 代码规范、代码复审、PSP

    作业三: 代码规范.代码复审.PSP 代码规范 代码规范的重要性 一.规范的代码可以促进团队合作  一个项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异.且不说会存 ...

  5. [.net 面向对象程序设计进阶] (5) Lamda表达式(一) 创建委托

    [.net 面向对象程序设计进阶] (5) Lamda表达式(一)  创建委托 本节导读: 通过学习Lambda表达式,学会创建委托和表达式目录树,深入了解Lambda的特性,让你的代码变的更加清晰. ...

  6. MySQL--使用xtrabackup进行备份还原

    使用rpm包安装xtrabackup ## 安装依赖包 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl- ...

  7. 熟用js中的Date

    js中的Date类型是使用UTC(国际协调时间)自1970年1月1日午夜(零时)开始,经过的毫秒数来保存日期. 1. 创建日期对象  ---> 获得当前日期和时间  var now = new ...

  8. Linux 循环

    200 ? "200px" : this.width)!important;} --> 简介 if循环 if conditon then commandselse comma ...

  9. Lock,LockFree,MemoryBarrier,ConcurrentCollection

    最近看并行编程书本的一些心得,简单记录下多线程和并行编程必知必会的几个概念,再次加深自己的理解. .NET Framework4提供了一个新的命名空间System.Collections.Concur ...

  10. linux下获取线程号

    #include <sys/syscall.h> pid_t gettid() { return syscall(SYS_gettid); }