ado.net 实体类_数据访问类
实体类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 实体类_数据访问类.App_Code
{
public class Users
{
private int _code;
/// <summary>
/// code
/// </summary>
public int Code
{
get { return _code; }
set { _code = value; }
}
private string _usename;
/// <summary>
/// 用户名
/// </summary>
public string Usename
{
get { return _usename; }
set { _usename = value; }
}
private string _password;
/// <summary>
/// 用户密码
/// </summary>
public string Password
{
get { return _password; }
set { _password = value; }
}
private string _nick;
/// <summary>
/// 昵称
/// </summary>
public string Nick
{
get { return _nick; }
set { _nick = value; }
}
private bool _sex;
/// <summary>
/// 性别
/// </summary>
public bool Sex
{
get { return _sex; }
set { _sex = value; }
}
private string _nation;
/// <summary>
/// 民族
/// </summary>
public string Nation
{
get { return _nation; }
set { _nation = value; }
}
private string _class;
/// <summary>
/// 班级
/// </summary>
public string _class1
{
get { return _class; }
set { _class = value; }
}
private DateTime _birthday;
/// <summary>
/// 生日
/// </summary>
public DateTime Birthday
{
get { return _birthday; }
set { _birthday = value; }
}
}
}
数据访问类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; namespace 实体类_数据访问类.App_Code
{
public class UserDate
{
SqlConnection conn = null;
SqlCommand com = null;
public UserDate()
{
conn = new SqlConnection("server=.;database=Data1128;user=sa;pwd=123");
com = conn.CreateCommand();
}
/// <summary>
/// 将数据添加到Users表中,添加成功返回true,失败返回false
/// </summary>
/// <param name="u">要添加到表中的Users对象</param>
/// <returns>添加成功返回true,失败返回false</returns>
public bool insert(Users u)
{
bool ok = false;
int count = ;
com.CommandText = "insert into Users values(@usename,@password,@nick,@sex,@nation,@class,@birthday)";
com.Parameters.Clear();
com.Parameters.AddWithValue("@usename",u.Usename);
com.Parameters.AddWithValue("@password", u.Password);
com.Parameters.AddWithValue("@nick", u.Nick);
com.Parameters.AddWithValue("@sex", u.Sex);
com.Parameters.AddWithValue("@nation", u.Nation);
com.Parameters.AddWithValue("@class", u._class1);
com.Parameters.AddWithValue("@birthday", u.Birthday);
try
{
conn.Open();
count=com.ExecuteNonQuery();
}
catch
{
ok = false;
}
finally
{
conn.Close();
}
if(count>)
{
ok = true;
} return ok;
} /// <summary>
/// 通过泛型集合对数据进行查询
/// </summary>
/// <returns>返回一个集合</returns>
public List<Users> Select()
{
List<Users> list= new List<Users>();
com.CommandText = "select *from Users";
conn.Open();
SqlDataReader dr = com.ExecuteReader();
if(dr.HasRows)
{
while(dr.Read())
{
Users u = new Users();
u.Code = Convert.ToInt32(dr["code"]);
u.Usename = dr["usename"].ToString();
u.Password = dr["password"].ToString();
u.Nick = dr["nick"].ToString();
u.Sex = Convert.ToBoolean(dr["sex"]);
u.Nation = dr["nation"].ToString();
u._class1 = dr["class"].ToString();
u.Birthday = Convert.ToDateTime(dr["birthday"]); list.Add(u);
} } conn.Close();
return list;
} /// <summary>
/// 根据usename进行查询
/// </summary>
/// <param name="usename">要查询的usename对象</param>
/// <returns>返回bool类型的值,返回true表示有usename这条数据</returns>
public bool select(string usename)
{
bool has = false;
com.CommandText = "select *from Users where usename=@usename";
com.Parameters.Clear();
com.Parameters.AddWithValue("@usename",usename);
conn.Open();
SqlDataReader dr = com.ExecuteReader();
if(dr.HasRows)
{
has = true;
}
conn.Close();
return has;
}
//public void delete(string username)
//{
// com.CommandText = "delete from Users where usename=@usename";
// com.Parameters.Clear();
// com.Parameters.AddWithValue("@usename", username); // conn.Open();
// com.ExecuteNonQuery();
// conn.Close();
//} /// <summary>
/// 删除数据
/// </summary>
/// <param name="username">要查询的usename对象</param>
/// <returns>返回bool类型的值,返回true表示删除成功</returns>
public bool delete(string username)
{
bool have = false;
int cc = ;
com.CommandText = "delete from Users where usename=@usename";
com.Parameters.Clear();
com.Parameters.AddWithValue("@usename", username);
try
{
conn.Open();
cc = com.ExecuteNonQuery();
}
catch
{
have = false;
}
finally
{
conn.Close();
}
if (cc > )
{
have = true;
}
return have;
}
}
}
业务逻辑类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 实体类_数据访问类.App_Code; namespace 实体类_数据访问类
{
class Program
{
static void Main(string[] args)
{
//完整查询操作,创建泛型数组引用UsersDate的Select方法
List<Users> ulist = new UserDate().Select();
//遍历数组
foreach(Users uuu in ulist)
{
Console.WriteLine(uuu.Code+"\t"+uuu.Usename+"\t"+uuu.Password+"\t"+uuu.Nick+"\t"+uuu.Sex+"\t"+uuu.Nation+"\t"+uuu._class1+"\t"+uuu.Birthday);
} //完整删除操作
Console.WriteLine("请输入要删除的用户名:");
string uname = Console.ReadLine();
//select方法的返回值为true,说明有此用户
if (new UserDate().select(uname))
{
Console.WriteLine("已查到此用户信息,是否要删除?(Y/N)");//用户操作
string yn = Console.ReadLine();
if (yn.ToUpper() == "Y")
{
//delete方法的返回值为true,删除成功
if (new UserDate().delete(uname))
Console.WriteLine("删除成功!");
//delete方法的返回值为false,删除失败
else
Console.WriteLine("删除失败!");
} else
{
Console.WriteLine("取消删除!!");
}
}
//select方法的返回值为false,无此用户
else
{
Console.WriteLine("未查到此用户信息!!");
}
//Console.WriteLine("请输入要删除的用户名:");
//string uname = Console.ReadLine();
//if (new UserDate().select(uname))
//{
// Console.WriteLine("已查到此用户信息,是否要删除?(Y/N)");
// string yn = Console.ReadLine();
// if (yn.ToUpper() == "Y")
// {
// new UserDate().delete(uname);
// Console.WriteLine("删除成功!"); // }
// else
// {
// Console.WriteLine("取消删除!!");
// }
//}
//else
//{
// Console.WriteLine("未查到此用户信息!!");
//} //添加用户操作
Users user = new Users();
Console.WriteLine("请输入用户名:");
user.Usename = Console.ReadLine();
Console.WriteLine("请输入密码:");
user.Password = Console.ReadLine();
Console.WriteLine("请输入昵称:");
user.Nick = Console.ReadLine();
Console.WriteLine("请输入性别:");
user.Sex = Convert.ToBoolean(Console.ReadLine());
Console.WriteLine("请输入民族:");
user.Nation = Console.ReadLine();
Console.WriteLine("请输入班级:");
user._class1 = Console.ReadLine();
Console.WriteLine("请输入生日:");
user.Birthday = Convert.ToDateTime(Console.ReadLine()); UserDate ud = new UserDate();
bool isok= ud.insert(user);//数据访问类中insert方法的返回值
if (isok)
Console.WriteLine("添加成功!");
else
Console.WriteLine("添加失败!!");
Console.ReadLine();
}
}
}
ado.net 实体类_数据访问类的更多相关文章
- ADO.NET(完整修改和查询、实体类,数据访问类)
一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...
- 9_13学习完整修改和查询&&实体类,数据访问类
完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...
- C#-ade.net-实体类、数据访问类
实体类.数据访问类 是由封装演变而来,使对数据的访问更便捷,使用时只需要调用即可,无需再次编写代码 实体类是按照数据库表的结构封装起来的一个类 首先,新建文件夹 App_Code ,用于存放数据库类等 ...
- ADO.net 实体类 、数据访问类
程序分三层:界面层.业务逻辑层.数据访问层 比较规范的写程序方法,要把业务逻辑层和数据访问层分开,此时需要创建实体类和数据访问类 实体类: 例 using System; using System.C ...
- ADO,NET 实体类 和 数据访问类
啥也不说,看代码. --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) pr ...
- 【2017-04-20】Ado.Net与面向对象结合架构中的数据访问层(实体类,数据访问类)
开发项目三层架构:界面层.业务逻辑层.数据访问层 今天学习一下数据访问层,分为实体类和数据访问类 所有的类放在App_Code这个文件夹下边.养成一个好的习惯. 一.实体类 数据库中的表映射为一个类, ...
- 【2017-04-20】Sql字符串注入式攻击与防御,实体类,数据访问类
字符串攻击 所谓sql字符串注入式攻击就是在用户输入界面输入通过精心编制的含有某种指令的字符串,来改变C#中连接数据库要执行的sql语句,从而对数据库进行攻击性操作 在用户输入界面输入 a');up ...
- ADO.NET 【实体类】【数据访问类】
认识分层结构,分层式结构是最常见,也是最重要的一种结构. 三层架构(3-tier architecture) 界面层(User Interface layer) 主要对用户的请求接受,以及数据的返回, ...
- ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)
ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄)System.Data—— 所有的一般数据访问类System.Data.Common—— 各个数据提供程序共享(或重写)的类Sys ...
随机推荐
- linux中预留的$变量
$0表示bash脚本的文件名 $1表示第一个参数 $*表示参数列表$0, $1, $2… $@表示"$1"/"$2"...每个变量都是独立的,用双引号括起来 $ ...
- Toast通知
win10 app 开发中Toast通知的模板只有一种,统一为 ToastGeneric 通用型通知,本文我们来讲讲 Toast 的 XML文档相关知识. 在以前8.1时候的Toast通知方式,到了W ...
- Android 退出Activity
在一个Process或一个处理线程中退出Activity可以用context来退出,如下: ((Activity)context).finish(); Android程序有很多Activity,比如说 ...
- C#中Invoke的用法()
invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和beg ...
- AngularJS学习之HTML DOM
1.AngularJS为HTML DOM元素的属性提供了绑定应用数据的指令: 2.ng-disabled指令:直接绑定应用程序数据到HTML的disable属性: <div ng-app=&qu ...
- POJ 3415 后缀数组
题目链接:http://poj.org/problem?id=3415 题意:给定2个串[A串和B串],求两个串公共子串长度大于等于k的个数. 思路:首先是两个字符串的问题.所以想用一个'#'把两个字 ...
- DOM--4 响应用户操作和事件(1)
简介 事件:事件并不是以"on"开头的.例如,onclick引用的是一个对象的属性,click才是事件. 事件侦听器:当指定的事件发生时会执行的函数或方法. 事件注册:为DOM元素 ...
- js中各种宽高
各种宽高 Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY ...
- angular的post请求,SpringMVC后台接收不到参数值的解决方案
http://www.ithao123.cn/content-6567265.html
- Docker中搭建Hadoop-2.6单机伪分布式集群
1 获取一个简单的Docker系统镜像,并建立一个容器. 1.1 这里我选择下载CentOS镜像 docker pull centos 1.2 通过docker tag命令将下载的CentOS镜像名称 ...