数据库和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. 《BI深入浅出》笔记

    今年的项目涉及到BI的知识点,读了<商业智能深入浅出>,这本书是基于IBM的产品做的,基础知识部分讲的非常成体系.记下来做个备忘: 1. BI简介 1.1 实施方案 1)项目规划: 2)系 ...

  2. 【C语言学习】《C Primer Plus》第13章 文件输入/输出

    学习总结 1.文件函数原型1: FILE* fopen(char *filename, char *openmode);  //打开文件,返回文件指针 filename:文件名,更确切地说,是包含文件 ...

  3. Spring RabbitMq概述

    Spring AMQP consists of a handful of modules, each represented by a JAR in the distribution. These m ...

  4. 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action

    上篇讲到 请求到达 MvcRouteHandler ,并且透过 IRouteHandler.GetHttpHandler 获取到了真正的处理程序 MvcHandler 这次我们看看,MvcHandle ...

  5. web前端工程师在移动互联网时代里的地位问题

    支付宝十周年推出了一个新产品:支付宝的十年账单,我也赶个时髦查看了一下我的支付宝十年账单,哎,感慨自己真是太屌丝了,不过这只是说明我使用淘宝少了,当我大规模网上购物时候,我很讨厌慢速的快递,所以我大部 ...

  6. swift NSComparator

    var cmptr:NSComparator = {(obj1:AnyObject!, obj2:AnyObject!) -> NSComparisonResult in if((obj1[&q ...

  7. UISwitch

    UISwitch *noticeSwtich = [[UISwitch alloc] initWithFrame:CGRectMake(0, 0, 51, 31)]; // noticeSwtich. ...

  8. 为什么很多网站的表单提交按钮都是用<a>标签

    之 前看过一些文章,说是用a标签来代替submit按钮更好一些,因为submit按钮在IE6下会有一些兼容的问题,不好统一,而且input的行高在各 浏览器参差不齐,还不能用line-height控制 ...

  9. java错误

    Workspace in use or cannot be created, choose a different one. 出现这种情况一般是workspace的配置文件中出现了.lock文件(wo ...

  10. 深入理解CSS背景

    前面的话 背景和字体一样,是一个复合属性,而且它是一个使用频率很高的属性.在CSS3中,背景属性在保持以前用法的同时,增加了新的相关属性.本文将详细介绍关于背景的知识 背景颜色 背景色backgrou ...