using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//接收用户输入的查询条件
Console.WriteLine("请输入要查询的汽车代号:");
string code = Console.ReadLine();

//造连接对象
SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");

//造命令对象
SqlCommand cmd = conn.CreateCommand();

//给命令对象一条SQL语句
cmd.CommandText = "select * from Car where Code=@code";
cmd.Parameters.AddWithValue(@code,code);
//改变量绑定参数
cmd.Parameters.Clear();//清除绑定的变量
cmd.Parameters.AddWithValue("@code", code);
//cmd.Parameters.AddWithValue("@name",name);

//打开连接
conn.Open();

//执行SQL语句
SqlDataReader dr = cmd.ExecuteReader();

//读取数据
if (dr.HasRows)
{
while (dr.Read())
{
Console.WriteLine(dr[0] + "--" + dr[1]);

}
}
else
{
Console.WriteLine("没有查到相应的数据");
}
Console.WriteLine("1是删除2是修改3是添加");
int a = int.Parse(Console.ReadLine());
dr.Close();
if (a == 1)
{
cmd.CommandText = "delete from Car where Code=@code";
cmd.Parameters.Clear();//清除绑定的变量
cmd.Parameters.AddWithValue("@code", code);

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

else if (a == 2)
{
int m = 0;
while (m < 1)
{
Console.WriteLine("你可以修改的内容为Powers/Exhaust/Price,请输入你要修改的列");
string b = Console.ReadLine();
Console.WriteLine("修改为");
string c = Console.ReadLine();
if (b == "Powers")
{
cmd.CommandText = "update Car set Powers=@powers where Code='" + code + "'";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@powers", c);

cmd.ExecuteNonQuery();
Console.WriteLine("修改成功");
}
else if (b == "Exhaust")
{
cmd.CommandText = "update Car set Exhaust=@exhaust where Code='" + code + "'";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@exhaust", c);

cmd.ExecuteNonQuery();
Console.WriteLine("修改成功");
}
else if (b == "Price")
{
cmd.CommandText = "update Car set Price=@price where Code='" + code + "'";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Price", c);

cmd.ExecuteNonQuery();
Console.WriteLine("修改成功");
}
else
{
Console.WriteLine("输入错误");
}

m++;
Console.WriteLine("是否继续修改内容?是1不是2");
int n = int.Parse(Console.ReadLine());
if (n == 1)
{
m--;
}
else
{
Console.WriteLine("你所修改的内容已全部修改完毕");
}

}
}

else if (a == 3)
{
Console.WriteLine("请输入添加的内容");
Console.WriteLine("请输入添加的代号");
string Code = Console.ReadLine();

Console.WriteLine("请输入添加的名字");
string Name = Console.ReadLine();

Console.WriteLine("请输入添加的brand");
string Brand = Console.ReadLine();

Console.WriteLine("请输入添加的time");
string Time = Console.ReadLine();
Console.WriteLine("请输入添加的Oil");
string Oil = Console.ReadLine();
Console.WriteLine("请输入添加的powers");
string Powers = Console.ReadLine();
Console.WriteLine("请输入添加的exhaust");
string Exhaust = Console.ReadLine();
Console.WriteLine("请输入添加的price");
string Price = Console.ReadLine();

Console.WriteLine("请输入添加的pic");
string Pic = Console.ReadLine();

dr.Close();

cmd.CommandText = "insert into Car values('" + Code + "','" + Name + "','" + Brand + "','" + Time + "','" + Oil + "','" + Powers + "','" + Exhaust + "','" + Price + "','" + Pic + "')";
cmd.ExecuteNonQuery();
Console.WriteLine("添加成功!");
}
else
{
Console.WriteLine("输入有误");
}

//关闭连接
conn.Close();

Console.ReadLine();
}

操作数据类m的更多相关文章

  1. ADO.Net(三)——数据库操作类

    操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类 一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using Sy ...

  2. ADO.NET 数据库操作类

    操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类   一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using ...

  3. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  4. 如何在在WinFrom的DataGridView中做到数据持续动态加载而不卡死

    1.在这个过程我用过好几种办法 (1)使用委托的办法,这个方法可以做到持续加载,但是效果不理想会卡死 (2)开启线程的方法,会造成卡死 (3)使用另一个窗体的线程做持续加载(子窗体),让子窗体作为一个 ...

  5. JQuery源码解析(十一)

    内存泄露 什么是内存泄露? 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动 ...

  6. WPF中使用后台代码来控制TreeView的选择项(SelectedItem)以及展开节点操作

    首先为TreeView控件制作一个Style: <Style x:Key="LibraryTreeViewItemStyle" TargetType="{x:Typ ...

  7. spring boot 常见的第三方集成

    spring boot基于1.x. 一 集成redis 1.1 配置 spring.redis.host = localhost spring.redis.port = 6379 spring.red ...

  8. Kotlin入门(15)独门秘笈之特殊类

    上一篇文章介绍了Kotlin的几种开放性修饰符,以及如何从基类派生出子类,其中提到了被abstract修饰的抽象类.除了与Java共有的抽象类,Kotlin还新增了好几种特殊类,这些特殊类分别适应不同 ...

  9. Winform开发框架之框架演化

    Winform开发框架方面的文章我介绍很多了,有宏观介绍,也有部分技术细节的交流,每次我希望能从不同角度,不同方面来介绍我的WInform开发框架,这些其实都是来源于客户的需求,真实的项目场景.本文主 ...

随机推荐

  1. Anaconda中常用的用法

    Anaconda中常用的用法 conda 是开源包(packages)和虚拟环境(environment)的管理系统. packages 管理: 可以使用 conda 来安装.更新 .卸载工具包 ,并 ...

  2. CCNA学习指南 -开放最短路径优先OSPF(多区域部分)

    在之前的介绍中,可以看到单区域OSPF对于古老的RIP的优点: 路由选择更新流量减小 使用与大型网络和链路速度不一样的网络 OSPF能够在LSDB中呈现网络拓扑结构,这使得它汇聚的速度远快于RIP. ...

  3. Binary Tree Level Order Traversal,层序遍历二叉树,每层作为list,最后返回List<list>

    问题描述: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ...

  4. [原][译][osgearth]Model Source Drivers模型驱动源(OE官方文档翻译)

    ModelSource 是一个能生成OpenSceneGraph节点的驱动(driver) osgEarth使用ModelSources显示矢量特征(feature)数据和加载和显示外部3d模型 Fe ...

  5. 大数据时代,IT行业竟有如此多高薪职位!

    近年来云计算.大数据.BYOD.社交媒体.3D打印机.物联网……在互联网时代,各种新词层出不穷,令人应接不暇.这些新的技术.新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最新的IT技能. 另 ...

  6. 用JavaScript做一个小小设计

    这个项目是我无聊时完成的,参阅过很多大神的示例,其实方法并不难主要是js和css样式的设计,我发现自己还有很多的js代码写不出来更加不用提看的明白了,(PS吐槽一下:革命尚未成功,同志还需努力啊!)此 ...

  7. 导出csv文件,导出axlsx文件。gem 'Axlsx-Rails' (470🌟);导入csv文件。

    汇出 CSV 档案 需求:后台可以汇出报名资料 有时候后台功能做再多,也不如 Microsoft Excel 或 Apple Numbers 试算表软件提供的分析功能,这时候如果有汇出功能,就可以很方 ...

  8. Meteor.js异步全解

    翻译来源: http://phucnguyen.info/blog/everything-you-need-to-know-about-async-meteor/ posted in Web Deve ...

  9. HDU 1069 Monkey and Banana 基础DP

    题目链接:Monkey and Banana 大意:给出n种箱子的长宽高.每种不限个数.可以堆叠.询问可以达到的最高高度是多少. 要求两个箱子堆叠的时候叠加的面.上面的面的两维长度都严格小于下面的. ...

  10. 模板方法模式templeteMethod

    引出模板模式: 考试试卷问题,提炼后的代码: package com.disign.templetemethod; import org.junit.Test; /** * Created by zh ...