嘿嘿,又到了总结了的时间,今天我们学习了ADO.net,什么是ADO.NET:ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSSql Server),它提供了统一的编程接口让操作其它数据库(Access、Oracle等)的方式和操作MSSql Server一致。下面就简单的总结下啦,

一.通过在VS中的简单方法插入数据

class Program
{
static void Main(string[] args)
{
string sqlconn = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection sqlcon = new SqlConnection(sqlconn))
{
sqlcon.Open();
string text = "Insert into Class values('李四','我很快乐')";
using (SqlCommand conn = new SqlCommand(text,sqlcon))
{
int number= conn.ExecuteNonQuery();
if (number > 0)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
Console.ReadKey();
}
}
}
}

二.通过在VS中的简单方法删除数据

class Program
{
static void Main(string[] args)
{
string constr = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection con = new SqlConnection(constr))
{
con.Open();
string sql = "delete from Class where Class.cName='李四'";
using (SqlCommand conn = new SqlCommand(sql, con))
{
int i= conn.ExecuteNonQuery();
if (i > 0)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
}
Console.ReadKey();
}
}
}

三.通过在VS中的简单方法更新数据

class Program
{
static void Main(string[] args)
{ string connectionString = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open(); string commandText = "Update Class set cName=‘张三’ where id=2 ";
using (SqlCommand cmd = new SqlCommand(commandText,conn))
{
int num= cmd.ExecuteNonQuery(); if (num > 0)
{
Console.WriteLine("修改成功");
}
else
{
Console.WriteLine("修改失败");
} }
Console.ReadKey();
}
}
}

四.通过在VS中的简单方法查询数据

1. 创建一个winform窗体,在窗体上面拖拉一个控件dataGridView,然后实现其代码如下:

 private void Form1_Load(object sender, EventArgs e)
{
string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(connection))
{
conn.Open();
string sql = "select * from log";
using (SqlCommand cmd = new SqlCommand(sql,conn))
{
//DataTable dt = new DataTable(); //当读取的表为一张表的时间,可以选择使用DataTable
//using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
//{ // sda.Fill(dt);
// this.dataGridView1.DataSource = dt;
//}
DataSet ds = new DataSet(); //使用DataSet读取数据集
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0];
}
}
}
}

数据库中的表的信息就会显示在界面上面,如下代码所示为:

2.创建一个简单的登陆界面,登陆界面设计如下:

代码如下:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string name=this.textBox1.Text;
string pwd = this.textBox2.Text;
string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection conn=new SqlConnection(connection))
{
conn.Open();
string sql = "select Name,Pwd from Log where Name =@name and Pwd =@pwd";
SqlParameter sp = new SqlParameter("@name",name);
SqlParameter sp1 = new SqlParameter("@pwd", pwd);
using(SqlCommand cmd=new SqlCommand (sql,conn))
{
cmd.Parameters.Add(sp);
cmd.Parameters.Add(sp1);
DataTable table = new DataTable();
using (SqlDataAdapter sqd = new SqlDataAdapter(cmd))
{
sqd.Fill(table);
if (table.Rows.Count > 0)
{
MessageBox.Show("成功");
}
else
{
MessageBox.Show("失败");
}
}
}
}
}
}

结果如下所示:

五。综上

—                 1.数据提供程序(常用类)
                 Connection:用来连接数据库
                 Command:用来执行SQL语句
                 DataReader:只读、只进的结果集,一条一条读取数据(StreamReader、XmlReader微软的类库中这些Reader的使用方式都差不多)
                 DataAdapter,一个封装了上面3个对象的对象
                 —数据集(DataSet)
            2.访问数据库的方式有两种

—                 方式一:1.连接数据用Connection;执行SQL语句Command;执行完毕之后将结果一条一条返回。DataReader
                 方式二:使用DataAdapter+DataSet,这种方法本质还是通过Connection、Command、DataReader将数据全部取出来然后放到了DataSet中

3.SqlCommand常用的方法

                 ExecuteNonQuery() 执行对数据库的增删改,返回受影响的行数,适合:insert、delete、update(对于其他语句返回-1)
                 ExecuteScalar()  执行查询,返回首行首列
                 ExecuteReader() 执行查询,返回DataReader对象

好啦,就总结到这里啦,今天学习的方法好多都是之前没有用过的啦,似乎接触的东西没有那么多啦,但是我们使用起来却是比较困难的啦,所以这个要多练习啦,嘿嘿。

ADO.net简单增删改查的更多相关文章

  1. ado.net的简单数据库操作(三)——简单增删改查的实际应用

    果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...

  2. Redis:五种数据类型的简单增删改查

    Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...

  3. 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作

    专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...

  4. Mybatis实现简单增删改查

    Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...

  5. ASP.NET MVC学习---(三)EF简单增删改查

    那么现在我们已经大概从本质上了解了ef 巴拉巴拉说了一大堆之后 总算要进入ef的正题了 总在口头说也太不行了是吧~ 没错,现在要用ef进行一些实际的操作 做什么呢? 就做一个入门级的增删改查操作吧 废 ...

  6. linq的简单增删改查

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...

  7. Android_ADB 常用 shell命令 和 sqlite3 简单增删改查

    今天学习了一个ADB的常用命令.接下来简单使用几个常用ADB shell 命令. 首先我们得明白什么是adb.exe ADB -Android Debug Bridge, 是 Android sdk ...

  8. MyBatis之二:简单增删改查

    这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...

  9. 基于springmvc的简单增删改查实现---中间使用到了bean validation

    package com.kite.controller; import java.util.HashMap; import java.util.Map; import javax.validation ...

随机推荐

  1. docker升级&加速器配置

    默认使用yum或者apt安装的docker版本较老,可以通过以下方式进行升级: 1.卸载旧版本 [root@CentOS702 ~]# centos 7.3卸载docker[root@CentOS70 ...

  2. BZOJ3105: [cqoi2013]新Nim游戏(Xor线性无关组)

    Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...

  3. shell脚本的if判断语句

    if条件判断语句 if (表达式) #if ( Variable in Array ) 语句1 else 语句2 fi 1.测试数字大小 #!/bin/sh NUM=100 if (( $NUM &g ...

  4. python垃圾回收算法

    标准python垃圾回收器由两部分组成,即引用计数回收器和分代垃圾回收器(即python包中的gc module).其中,引用计数模块不能被禁用,而GC模块可以被禁用. 引用计数算法 python中每 ...

  5. 【Codeforces Round #460 (Div. 2) A】 Supermarket

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 就是让你求m*(ai/bb)的最小值 [代码] #include <bits/stdc++.h> #define dou ...

  6. Project Euler :Problem 54 Poker hands

    In the card game poker, a hand consists of five cards and are ranked, from lowest to highest, in the ...

  7. js正則表達式--验证表单

    检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...

  8. SpringMVC的注解方式

    mvc-servlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...

  9. JSP_Learn

    // 解决中文乱码的问题String name = new String((request.getParameter("name")).getBytes("ISO-885 ...

  10. netstat---显示Linux中网络系统的状态信息

    netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况. 语法 netstat(选项) 选项 -a或--all:显示所有连线中的Socket: -A<网 ...