ADO.NET:
数据访问技术

就是将C#和MSSQL连接起来的一个纽带

可以通过ADO.NET将内存中的临时数据写入到数据库中
也可以将数据库中的数据提取到内存中供程序调用

所有数据访问技术的基础

连接数据库基本格式:
需要两个类
1、数据库连接类 SqlConnection
2、数据库操作类 SqlCommand

//1、连接数据库
//写连接字符串,立马就要想到有4点要写完,1、连接哪台服务器,2、连接哪个数据库,3、连接用户名,4、密码
string sql = "server=.;database=Data0720;user=sa;pwd=123;"; //编写连接字符串
//实例化数据连接类,将连接字符串写到构造函数中,让这个类构造完毕后就连接到指定的服务器和数据库上
SqlConnection conn = new SqlConnection(sql);

//2、设置要对数据库中的表的操作
//通过已经连接的数据库创建一个对此库的操作类
SqlCommand cmd = conn.CreateCommand();

//编写TSQL语句
cmd.CommandText = "delete from Users where UserName='" + Uname + "'";

//3、执行操作
conn.Open(); //数据库连接打开
cmd.ExecuteNonQuery(); //数据库操作执行
conn.Close();//数据库连接关闭

增删改:
SqlConnection
SqlCommand
cmd.ExecuteNonQuery();

查:
SqlConnection
SqlCommand
SqlDataReader
cmd.ExecuteReader()

查询基本格式:
//数据库连接类(连接字符串)
SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");
//数据库操作类,通过上面的连接类构建出来
SqlCommand cmd = conn.CreateCommand();
//查询语句
cmd.CommandText = "select *from Users";

conn.Open();//数据库连接开启
SqlDataReader dr = cmd.ExecuteReader();//调用此方法用来查询 !!!!

//每执行一次这个方法,指针就向下走一行,读取下面一行的数据,如果下面没有数据了,那么会返回一个false
while (dr.Read())
{
//如果读出来数据,那么当前读到的这一行数据就放在dr这个对象里,可以使用两种方式将数据取出来
//1、使用索引 - dr[索引值]
Console.WriteLine(dr[0] + " " + dr[1] + " " + dr[2] + " " + (((bool)dr[3]) ? "男" : "女") + " " + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + " " + dr[5]);
//2、使用列名 - dr["列名"]
Console.WriteLine(dr["UserName"] + " " + dr["Nation"]);
}
conn.Close();//数据库连接关闭

//数据库中存放的数据并不一定能够直接拿出来给用户看,那么就需要C#段将数据加工以后,再展现出来

例如:

Console.WriteLine(dr[0] + " " + dr[1] + " " + dr[2] + " " + (((bool)dr[3]) ? "男" : "女") + " " + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + " " + dr[5]);

一、增加

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 增加
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入用户名:");
string Uname = Console.ReadLine();
Console.Write("请输入密码:");
string Pwd = Console.ReadLine();
Console.Write("请输入用户昵称:");
string Nname = Console.ReadLine();
Console.Write("请输入性别:");
bool Sex = Convert.ToBoolean(Console.ReadLine());//转换为bool类型
Console.Write("请输入生日:");
DateTime Birthday = Convert.ToDateTime(Console.ReadLine());//转换为时间类型
Console.Write("请输入民族:");
string Nation = Console.ReadLine(); ////1、连接数据库
//string sql = "server=.;database=Data0720;user=sa;pwd=123;";//编写连接字符串
//SqlConnection conn = new SqlConnection(sql); ////2、设置数据库中需要修改的数据操作
//SqlCommand cmd = conn.CreateCommand();
//cmd.CommandText = "insert into Users values('"+Uname+"','"+Pwd+"','"+Nname+"','"+(Sex?"1":"0")+"','"+Birthday+"','"+Nation+"')";//双引号内是SQL添加数据的语句 ////3、执行操作
//conn.Open();
//cmd.ExecuteNonQuery();
//conn.Close(); //练习操作
//1、连接数据库
string sql = "server=.;database=Data0720;user=sa;pwd=123";//编写连接字符串
SqlConnection conn = new SqlConnection(sql); //2、设置数据库中的表的操作
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into Users values('"+Uname +"','"+Pwd +"','"+Nname+"','"+(Sex?"":"")+"','"+Birthday +"','"+Nation+"')"; //3、执行操作
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); //提示一下,看是否添加成功
Console.WriteLine("您已添加成功!"); Console.ReadLine();
}
}
}

二、删除

using System;
using System.Collections.Generic;
using System.Data.SqlClient;//该命名空间是SqlConnection解析后连接的
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ADO.NET基础_增删
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入要删除的用户名:");
string Uname = Console.ReadLine(); ////1、连接数据库
//string sql = "server=.;database=Data0720;user=sa;pwd=123;";//编写连接字符串
//SqlConnection conn = new SqlConnection(sql);//构造函数,在这里可以重载 ////2、设置要对数据库中的表的操作
//SqlCommand cmd = conn.CreateCommand();
//cmd.CommandText = "delete from Users where username='"+ Uname +"'";//双引号内就是SQL中的删除语句 ////3、执行操作
//conn.Open();
//cmd.ExecuteNonQuery();
//conn.Close(); //练习操作
//1、连接数据库
string sql = "server=.;database=Data0720;user=sa;pwd=123";//编写连接字符串
SqlConnection conn = new SqlConnection(sql); //2、设置要对数据库中的表进行的操作内容
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "delete from Users where username='"+Uname+"'"; //3、执行操作
conn.Open();//打开通道
cmd.ExecuteNonQuery();//执行操作
conn.Close();//关闭通道,通道只有一个,每次用完都要关闭,要不然下次用连接不上 //提示一下,看是否删除成功,成功则显示提示语句,不成功则不显示,并报错
Console.WriteLine("您已删除成功!"); Console.ReadLine();
}
}
}

三、修改

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace 改查
{
class Program
{ static void Main(string[] args)
{
//改
//用户名不可以修改(实际应用中是不能修改的),需要修改什么就写什么
Console.Write("请输入要修改的用户名:");
string Uname = Console.ReadLine();
Console.Write("请输入修改后的密码:");
string Pwd = Console.ReadLine();
Console.Write("请输入修改后的性别:");
string Sex = Console.ReadLine();
//1、连接数据库
SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");//编写连接字符串
//2、设置修改内容的操作
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "update Users set [password]='" + Pwd + "',sex='" + Sex +"' where username='" + Uname + "';";
//3、执行操作
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); //4、提示一下是否修改完成
Console.WriteLine("您已修改完成!"); Console.ReadLine();
}
}
}

四、查询

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient; namespace 查
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("用户名" + "\t" + "密码" + "\t" + "昵称" + "\t" + "性别" + "\t" + "生日" + " " + "民族"); //1、连接数据库
SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");
//2、设置数据库中的表的操作
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from Users;";
//3、执行操作
conn.Open();
SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read())
{
////如果读出来数据,那么当前读到的这一行数据就放在dr这个对象里面,有两种方式读取
////1、使用索引号:dr[索引号]
//Console.WriteLine(dr[0] + "\t" + dr[1] + "\t" + dr[2] + "\t" + (((bool)dr[3]) ? "男" : "女") + "\t" + Convert.ToDateTime(dr[4]).ToString("yyyy年MM月dd日") + "\t" + dr[5]);
//2、使用列名:dr["列名"]
Console.WriteLine(dr["username"] + "\t" + dr["password"] + "\t" + dr["nickname"] + "\t" + (((bool)dr["sex"])?"男":"女") + "\t" + Convert.ToDateTime(dr["brithday"]).ToString("yyyy年MM月dd日") + "\t" + dr["nation"]);
} conn.Close(); Console.ReadLine();
}
}
}

五、作业:显示信息;请输入你想执行的操作(1添加,2修改,3删除);操作完成后刷新信息表,并可以无限循环执行操作。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;//引用这个空间命名 namespace 作业
{
class Program
{
static void Main(string[] args)
{
while (true)
{
//显示信息
Console.Clear();//清屏
#region
Console.WriteLine("用户名" + "\t" + "密码" + "\t" + "昵称" + "\t" + "性别" + "\t" + "生日" + " " + "民族"); //实例化,创建类,连接数据库
SqlConnection conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");
//设置数据库中的表的操作
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from Users;";
//执行操作
conn.Open();
SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read())
{
Console.WriteLine(dr["username"] + "\t" + dr["password"] + "\t" + dr["nickname"] + "\t" + (((bool)dr["sex"]) ? "男" : "女") + "\t" + Convert.ToDateTime(dr["brithday"]).ToString("yyy年MM月dd日") + "\t" + dr["nation"]);
} conn.Close();
#endregion
Console.Write("请输入您想执行的操作(1.添加 2.修改 3.删除):");
string n = Console.ReadLine(); //添加信息
if (n == "")
{
Console.Write("请输入您要添加的用户名:");
string Uname = Console.ReadLine();
Console.Write("请输入您要添加的密码:");
string Pwd = Console.ReadLine();
Console.Write("请输入您要添加的昵称:");
string Nname = Console.ReadLine();
Console.Write("请输入您要添加的性别:");
bool Sex = Convert.ToBoolean(Console.ReadLine());
Console.Write("请输入您要添加的生日:");
DateTime Birthday = Convert.ToDateTime(Console.ReadLine());
Console.Write("请输入您要添加的民族:");
string Nation = Console.ReadLine();
//连接数据库
SqlConnection coon1 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");
//设置数据库中的表格的操作
SqlCommand cmd1 = coon1.CreateCommand();
cmd1.CommandText = "insert into Users values('" + Uname + "','" + Pwd + "','" + Nname + "','" + (Sex ? "" : "") + "','" + Birthday + "','" + Nation + "')";
//执行操作
coon1.Open();
cmd1.ExecuteNonQuery();
coon1.Close();
//提示是否添加成功
Console.WriteLine("您已添加成功,请单击刷新信息表!");
break;
}
//修改信息
else if (n == "")
{
Console.Write("请输入要修改的用户名:");
string Uname = Console.ReadLine();
Console.Write("请输入修改后的密码:");
string Pwd = Console.ReadLine();
Console.Write("请输入修改后的性别:");
string Sex = Console.ReadLine();
//1、连接数据库
SqlConnection conn2 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123;");//编写连接字符串
//2、设置修改内容的操作
SqlCommand cmd2 = conn2.CreateCommand();
cmd2.CommandText = "update Users set [password]='" + Pwd + "',sex='" + Sex + "' where username='" + Uname + "';";
//3、执行操作
conn2.Open();
cmd2.ExecuteNonQuery();
conn2.Close(); //4、提示一下是否修改完成
Console.WriteLine("您已修改完成,请单击刷新信息表");
}
//删除信息
else if (n == "")
{
Console.Write("请输入要删除的用户名:");
string Uname = Console.ReadLine();
//1、连接数据库
SqlConnection conn3 = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123"); //2、设置要对数据库中的表进行的操作内容
SqlCommand cmd3 = conn3.CreateCommand();
cmd3.CommandText = "delete from Users where username='" + Uname + "'"; //3、执行操作
conn3.Open();//打开通道
cmd3.ExecuteNonQuery();//执行操作
conn3.Close();//关闭通道,通道只有一个,每次用完都要关闭,要不然下次用连接不上 //提示一下,看是否删除成功,成功则显示提示语句,不成功则不显示,并报错
Console.WriteLine("您已删除成功,请单击刷新信息表!"); }
} Console.ReadLine();
}
}
}

1、添加

2、修改

3、删除

ADO.NET 增、删、改、查的更多相关文章

  1. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  2. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  3. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  4. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  9. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

  10. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

随机推荐

  1. 记一次奇怪IE动态加载js的乱码

    1. 问题背景 某个老产品需要支持IE8,前端部分组件采用scrat开发体系进行开发的,当页面中内嵌的iframe的页面再加载组件js的时候,某些情况下会出现组件的js乱码,导致组件的js不能运行.而 ...

  2. Apache和IIS服务器共存问题--来自网上内容

    1.apache 主要支持PHP   IIS 主要支持asp  静态的网页他们都支持入htm,端口冲突的话你可以更改其中一个服务器的端口来实现端口的避让,IIS在右击“我的电脑”“管理”“服务和应用程 ...

  3. ucos 学习

    1.UCOSII 早期版本只支持 64 个任务,但是从 2.80 版本开始,支持任务数提高到 255 个,不过对我们来说一般 64 个任务都是足够多了,一般很难用到这么多个任务. UCOSII 保留了 ...

  4. 重新安装了mysql,以前的数据库如何导入到新的数据库

    重新安装了mysql,以前的数据库如何导入到新的数据库,导入到新的数据库不能用真么办? 将之前的mysql中的data目录中的数据库文件夹,(需要哪个数据库复制哪个,不要都复制) D:/wamp/bi ...

  5. CRM 2011 Install Errors - Tips and Tricks continued(转)

    The more I get to install/upgrade to CRM 2011 in different environment the more I come across differ ...

  6. HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)

    在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...

  7. python视频教程大全集下载啦

    需要学习python的相关视频资源: python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV Python 从入门到精通视频(全60集)链接:http: ...

  8. python: jquery实现全选 反选 取消

    引入这个jquery-1.12.4.js jquery实现全选 反选 取消 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitio ...

  9. ios html5 网页取消默认样式

    ios的的默认样式修改成扁平化的样式 重要的一句css  -webkit-appearance: none;  将样式清除 单数会出现将raido的选择按钮也会消失 所以需要对radio的样式进行重新 ...

  10. Web的Ajax应用开发模式(三)——Ajax的开发

    Ajax是XMLHttpRequest对象和JavaScript.CSS.HTML.DOM等多种技术的结合. 此处重点强调XMLHttpRequest的以下特点,所以测试人员在测试到WEB的Ajax应 ...