static void Main1(string[] args)
{
添加
造连接字符串
string connstring = "server=.;database=mydb;user=sa;pwd=100867";
造连接对象
 SqlConnection conn = new SqlConnection(connstring);
造命令对象 直接生成一个命令对象
SqlCommand cmd= conn.CreateCommand();
给一个SQL语句
cmd.CommandText = "insert into Info values('p087','李丽','true','n001','1988-2-10')";
cmd.CommandText = "delete from Info where code='p087'";
 cmd.CommandText = "update Info set name='张三' where code='p002'";
打开连接
 conn.Open();
   cmd.ExecuteNonQuery();
if (n > 0)
{
 Console.WriteLine("添加成功!");
}
else
{
 Console.WriteLine("添加失败!");
}

conn.Close();

Console.ReadLine();

}

让用户输入要添加的内容
Console.WriteLine("请输入要添加的代号:");
string code = Console.ReadLine();
Console.WriteLine("请输入姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入性别:");
bool sex= Console.ReadLine() == "男" ? true : false;
Console.WriteLine("请输入民族:");
string nation = Console.ReadLine();
Console.WriteLine("请输入生日:");
string birthday = Console.ReadLine();
string nationcode = "noo1";
//将民族名称转为民族代号
SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=100867");
SqlCommand cmd= conn.CreateCommand();
cmd.CommandText = "select code from nation where name='"+nation+"'";
conn.Open();
SqlDataReader dr= cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
nationcode= dr[0].ToString();
}
conn.Close();
//往INFO表中添加数据 民族表也可以添加了
cmd.CommandText = "insert into Info values('"+code+"','"+name+"','"+sex+"','"+nationcode+"','"+birthday+"')";
conn.Open();
cmd.ExecuteNonQuery();

Console.WriteLine("添加成功!");
conn.Close();

Console.ReadLine();

用户输入要删除的数据主键值
Console.WriteLine("请输入要删除的代号:");
string code = Console.ReadLine();
//先判断该数据库存不存在——根据主键值去查数据库
SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=100867");
SqlCommand cmd= conn.CreateCommand();
cmd.CommandText = "select * from Info where code='"+code+"'";
conn.Open();
SqlDataReader dr= cmd.ExecuteReader();;

if (dr.HasRows)
{
//说明该数据存在
Console.WriteLine("查到该数据,是否要执行删除操作,如果要删除请输入:1");
int sc=Convert.ToInt32( Console.ReadLine());
if (sc == 1)
{
//删除
dr.Close();//关闭读取器
cmd.CommandText = "delete from Info where code='"+code+"'";

cmd.ExecuteNonQuery();
Console.WriteLine("删除成功!");

}
else
{
//不删除
dr.Read();
string sex= Convert.ToBoolean(dr[2])?"男":"女";
string nation = minzu(dr[3].ToString());
string str = "代号:"+dr[0]+"姓名:"+dr[1]+"性别:"+sex+"民族:"+nation+"生日:"+dr[4];

Console.WriteLine(str);

}
}
else
{
//数据不存在
Console.WriteLine("输入的代号错误!");
}

conn.Close();
Console.ReadLine();

}
static string minzu(string code)
{
string name = "";
SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=100867");
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select name from nation where code='" + code + "'";
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
name = dr[0].ToString();
}
conn.Close();
return name;
}

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

  1. ADO.NET 增删改查的基本用法

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

  2. Ado.net[增删改查,GET传值]

    1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.c ...

  3. ADO.NET增删改-------跟查不一样

    建立数据库 create database ren go use database go create table user ( code nvarchar(20) primary key,--编号 ...

  4. ADO.NET 增删改、查

    数据访问 对应命名空间:System.Data.SqlClient; SqlConnection:连接对象SqlCommand:命令对象SqlDataReader:读取器对象 CommandText: ...

  5. LinQ和ADO.Net增删改查 备忘

    是否些倦了 SqlConnection conn=new SqlConnection();一系列繁冗的代码? 来试试Linq吧 查: using System.Data.SqlClient; name ...

  6. ado.net增删改查操作

    ado.net是数据库访问技术将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层最基础的数据库访问技术 使用ado.net对数据 ...

  7. ADO.net 增删改查

    ADO.net 一.定义:编程开发语言与数据库连接的一门语言技术 二.链接: 在vs中操作数据库需在开头进行链接 链接内容:using System.Data.SqlClient 三.引用数据库: 四 ...

  8. ado.net增删改查练习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  9. ado.net(增删改)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. ADO.net增删改的使用

    添加数据 -------------------------------------------------- //让用户输入要添加的内容 Console.WriteLine("请输入要添加 ...

随机推荐

  1. 【技术累积】【点】【Java】【12】几种常见编码(持续更新)

    问题描述 有这么一段代码: String question = new String(record.getQuestion().getBytes("iso-8859-1"), &q ...

  2. C# 前一个数是后一个数的父级

    private void button2_Click(object sender, EventArgs e) { var str = "1 2 3 4 5 6 7 8 9 10 11 12 ...

  3. uni-app强大的前端框架,h5,原生app(两大系统),微信小程序

    最近发现一款强大的前端框架,它叫uni-app 这是一款通用的框架可以打包app,h5,微信小程序, 说说要弄这个工具需要会那些技能吧, 要熟悉vue,微信小程序.这样这个框架用的就是很快上手了 模块 ...

  4. react-router @4用法整理

    在React Router 3上写了一篇文章后不久,我第一次在React Rally 2016上遇到了Michael Jackson.Michael是React Router和Ryan Florenc ...

  5. springboot 大致启动流程

    SpringApplication的run方法的实现是我们本次旅程的主要线路,该方法的主要流程大体可以归纳如下: 1) 如果我们使用的是SpringApplication的静态run方法,那么,这个方 ...

  6. Java8新特性-接口中的静态方法与默认方法

    今天上午在读<Effective Java>时,有这样一句话:”接口中“不能有静态方法,于是联想起面试时老是被问接口相关的东西,决定总结一下,谁知道这一总结,就发现了自己知识的一大漏洞.  ...

  7. es6-Symbol用法

    1.symbol概念 这种数据类型提供独一无二值 比如,在JS中,我可以通过数据类型生成变量a=number05,也可以生成b=nubmer05,这两个变量可以说是相等的. 但是用symbol生成的值 ...

  8. 【剑指Offer】8、跳台阶

      题目描述:   一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果).   解题思路:   首先考虑最简单的情况,如果只有1级台阶, ...

  9. [jzoj 5776]【NOIP2008模拟】小x游世界树 (树形dp)

    传送门 Description 小x得到了一个(不可靠的)小道消息,传说中的神岛阿瓦隆在格陵兰海的某处,据说那里埋藏着亚瑟王的宝藏,这引起了小x的好奇,但当他想前往阿瓦隆时发现那里只有圣诞节时才能到达 ...

  10. FusionCharts,双折线图和双柱状图

    一个电商项目中,用到了"双柱状图",对比 当前库存和累计库存. 网上找了好几个贴子,才找到具体用法. 代码整理下,以备不时之需. 效果图-双折线图 效果图-双柱状图 <%@ ...