操作数据类m
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的更多相关文章
- ADO.Net(三)——数据库操作类
操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类 一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using Sy ...
- ADO.NET 数据库操作类
操作数据类 避免代码重用.造对象太多.不能分工开发 利用面向对象的方法,把数据访问的方式优化一下,利用封装类 一般封装成三个类: 1.数据连接类 提供数据连接对象 需要引用命名空间: using ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- 如何在在WinFrom的DataGridView中做到数据持续动态加载而不卡死
1.在这个过程我用过好几种办法 (1)使用委托的办法,这个方法可以做到持续加载,但是效果不理想会卡死 (2)开启线程的方法,会造成卡死 (3)使用另一个窗体的线程做持续加载(子窗体),让子窗体作为一个 ...
- JQuery源码解析(十一)
内存泄露 什么是内存泄露? 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动 ...
- WPF中使用后台代码来控制TreeView的选择项(SelectedItem)以及展开节点操作
首先为TreeView控件制作一个Style: <Style x:Key="LibraryTreeViewItemStyle" TargetType="{x:Typ ...
- spring boot 常见的第三方集成
spring boot基于1.x. 一 集成redis 1.1 配置 spring.redis.host = localhost spring.redis.port = 6379 spring.red ...
- Kotlin入门(15)独门秘笈之特殊类
上一篇文章介绍了Kotlin的几种开放性修饰符,以及如何从基类派生出子类,其中提到了被abstract修饰的抽象类.除了与Java共有的抽象类,Kotlin还新增了好几种特殊类,这些特殊类分别适应不同 ...
- Winform开发框架之框架演化
Winform开发框架方面的文章我介绍很多了,有宏观介绍,也有部分技术细节的交流,每次我希望能从不同角度,不同方面来介绍我的WInform开发框架,这些其实都是来源于客户的需求,真实的项目场景.本文主 ...
随机推荐
- shell脚本监控Linux系统性能指标
2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...
- PostMessage与SendMessage的区别
PostMessage只负责将消息放到消息队列中,不确定何时及是否处理 SendMessage要等到受到消息处理的返回码(DWord类型)后才继续 PostMessage执行后马上返回 SendMes ...
- Ubuntu14.04,16.04(桌面版)找回root 密码
一.重启系统,按住shift键直到出现GUN GRUB界面(下图) 选择advanced options,按回车 然后移动选择到recovery mode ,接着按下e,不要按回车,因为我们要进入可写 ...
- pairs 和 ipairs 的区别
ipairs 在迭代过程中是会直接跳过所有手动设定key值的变量.pairs不会跳过手动设置key值的变量. 实例 tab = {,,a="cd","d"} f ...
- css3 属性——calc()
其实在之前学习CSS3的时候,我并没有注意到有calc()这个属性,后来在看一个大牛的代码的时候看到了这个,然后就引发了后来的一系列的查找.学习,以及这篇博客的诞生.好了,废话不多说了,来干正事. 一 ...
- C# DataTable Compute方法的使用
在开发中需要对DataTable的数据进行处理,比如累加,求最大最小及平均值等,以前都采用手工对DataTable进行循环并计算的方式,现在发现DataTable的Compute方法可以轻松实现这些功 ...
- UVA-12166 Equilibrium Mobile(二叉树)
题目大意:改变二叉树上的权值,使树平衡,问最少该几个值. 题目分析:不会做,查的题解.有条奇妙的性质:如果将第d层权值为w的节点为基准做改动,则整棵树的总重量为w<<d,即w*2^d.仔细 ...
- curl使用记录
$header = array("Connection: Keep-Alive", "Accept: text/html,application/xhtml+xml,ap ...
- IOS-详解KVO底层实现
一.KVO (Key-Value Observing) KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现.也是 Cocoa Binding 的基础.当被观察对 ...
- 在centos7下安装java8和mysql
一般学习java和部署项目都是在本地部署,但是生产环境一般都是在linux环境下,部署和安装环境都是在控制台下进行操作的,没有windows的可视化的操作界面,对与linux的命令掌握和操作对小白来说 ...