实体类:

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. matlab练习程序(Sepia Tone滤镜)

    我手机上有一个软件实现了很多图像滤镜,挺有意思,我打算都尝试一下. 这个滤镜主要是实现老照片效果. 代码很短,我就不详细介绍了. 原图: 处理后效果: matlab代码如下: clear all;cl ...

  2. Ubuntu12.04安装搜狗输入法失败后,出现登录界面循环

    前些天,因为复现别人实验就准备重新启用实验室的集群上的系统,上去安装了几个插件,之后又觉得需要中文输入法就试着装一下,结果安装失败,看到报错信息,也没放在心上,第二天启动时发现再也登录不进去. 现象描 ...

  3. 快消品销售管理系统,PDA销售管理系统,销售拜访PDA,进销存管理PDA系统 移动扫描打印开单POS

    各种ERP软件的移动订单及移动车销解决方案是针对各个需要快速.便捷的,通过智能PDA移动智能终端设备实现销售订单下达及快速车销的应用解决方案.通过将移动订单及移动车销集成到ERP的移动解决方案,可以帮 ...

  4. 寒冰王座(DGA最长路/完全背包)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  5. jdbc 各驱动写法

    1.Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); ...

  6. DP ZOJ 2745 01-K Code

    题目传送门 题意:要求任意连续子序列中0和1的数量差不超过k的方案数 分析:想好状态其实不难.dp[i][j][k]表示考虑前i长度,后缀中最大的 sum(0) - sum(1) = j, sum ( ...

  7. 贪心+模拟 Codeforces Round #288 (Div. 2) C. Anya and Ghosts

    题目传送门 /* 贪心 + 模拟:首先,如果蜡烛的燃烧时间小于最少需要点燃的蜡烛数一定是-1(蜡烛是1秒点一支), num[g[i]]记录每个鬼访问时已点燃的蜡烛数,若不够,tmp为还需要的蜡烛数, ...

  8. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

  9. Knockout.js初体验

    前不久在网上看到一个轻量级MVVM js类库叫Knockout.js,觉得很好奇,搜了一下Knockout.js相关资料,也初体验了一下,顿时感觉这个类库的设计很有意思.接下来就搞清楚什么是Knock ...

  10. linux ubuntu的root密码

    安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下.到网上搜了一下,原来是这麽回事.Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码.我们可 ...