实体类:

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 实体类_数据访问类的更多相关文章

  1. ADO.NET(完整修改和查询、实体类,数据访问类)

    一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...

  2. 9_13学习完整修改和查询&&实体类,数据访问类

    完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...

  3. C#-ade.net-实体类、数据访问类

    实体类.数据访问类 是由封装演变而来,使对数据的访问更便捷,使用时只需要调用即可,无需再次编写代码 实体类是按照数据库表的结构封装起来的一个类 首先,新建文件夹 App_Code ,用于存放数据库类等 ...

  4. ADO.net 实体类 、数据访问类

    程序分三层:界面层.业务逻辑层.数据访问层 比较规范的写程序方法,要把业务逻辑层和数据访问层分开,此时需要创建实体类和数据访问类 实体类: 例 using System; using System.C ...

  5. ADO,NET 实体类 和 数据访问类

    啥也不说,看代码. --SQl中 --建立ren的数据库,插入一条信息 create database ren go use ren go create table xinxi ( code ) pr ...

  6. 【2017-04-20】Ado.Net与面向对象结合架构中的数据访问层(实体类,数据访问类)

    开发项目三层架构:界面层.业务逻辑层.数据访问层 今天学习一下数据访问层,分为实体类和数据访问类 所有的类放在App_Code这个文件夹下边.养成一个好的习惯. 一.实体类 数据库中的表映射为一个类, ...

  7. 【2017-04-20】Sql字符串注入式攻击与防御,实体类,数据访问类

    字符串攻击 所谓sql字符串注入式攻击就是在用户输入界面输入通过精心编制的含有某种指令的字符串,来改变C#中连接数据库要执行的sql语句,从而对数据库进行攻击性操作 在用户输入界面输入  a');up ...

  8. ADO.NET 【实体类】【数据访问类】

    认识分层结构,分层式结构是最常见,也是最重要的一种结构. 三层架构(3-tier architecture) 界面层(User Interface layer) 主要对用户的请求接受,以及数据的返回, ...

  9. ADO.NET(一) 空间 ADO.NET结构 命名空间(车延禄) System.Data—— 所有的一般数据访问类 S(转载)

    ADO.NET(一) 空间   ADO.NET结构 命名空间(车延禄)System.Data—— 所有的一般数据访问类System.Data.Common—— 各个数据提供程序共享(或重写)的类Sys ...

随机推荐

  1. 安装.net Framework 3.5 SP1非常慢的解决方案

    解决方案:1.msiexec /unregserver回车,在输入命令:msiexec /regserver msiexec /unregserver是停止installer服务,而msiexec / ...

  2. MIT 6.828 JOS学习笔记1. Lab 1 Part 1: PC Bootstrap

    Lab 1: Booting a PC Part 1: PC Bootstrap 介绍这一部分知识的目的就是让你能够更加熟悉x86汇编语言,以及PC启动的整个过程,而且也会首次学习使用QEMU软件来仿 ...

  3. 分享一个漂亮WPF界面框架创作过程及其源码(转)

    本文会作为一个系列,分为以下部分来介绍: (1)见识一下这个界面框架: (2)界面框架如何进行开发: (3)辅助开发支持:Demo.模板.VsPackage制作. 框架源码如下所示. 本文介绍第(1) ...

  4. PHP入门 - - 07-->HTML的表单

    一.<form>标签及其属性 <from></form>标签对用来创建一个表单,即定义表单的开始和结束位置,<form>标签具有下面等属性.       ...

  5. PHP 一个表单多个提交按钮,处理不同的业务逻辑

    <?phpini_set("error_reporting","E_ALL & ~E_NOTICE");?> <head>< ...

  6. 非传统题【A002】

    [A002]非传统题[难度A]————————————————————————————————————————————————————————————————————————————————————— ...

  7. Sharepoint更新字段触发工作流(无代码)

    项目背景 Sharepoint 2010 ,Infopath 2010环境,用Infopath设置好表单把数据提交到Sharepoint的Library库.很常见的需求,其中有一个[状态]字段,和[申 ...

  8. Python profiling

    Profiling(性能调试)是我一直很感兴趣的一个话题,之前给大家介绍过Datadog这个工具,今天我们来看看Python语言中有哪些方法来做Profiling. Poorman's Profile ...

  9. [转载] Spring MVC - 处理器拦截器

    5.1.处理器拦截器简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.   ...

  10. HDU4758 Walk Through Squares(AC自动机+状压DP)

    题目大概说有个n×m的格子,有两种走法,每种走法都是一个包含D或R的序列,D表示向下走R表示向右走.问从左上角走到右下角的走法有多少种走法包含那两种走法. D要走n次,R要走m次,容易想到用AC自动机 ...