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 ...
随机推荐
- jbox使用总结
jbox是一个不错的插件 当使用get打开新页面的时候,可以使用h.对像ID来获得对像ID的值 Js代码 js代码: /** * @description: test * @author: BrinP ...
- 有关servlet初学者的资源和建议
四天来学习servlet是很痛苦的经历,其实可以不必要这么痛苦,关键是一定要学会冷静的分析问题与解决问题,要不言学习也没有那么多的乐趣.初学java刚满15天. 首先对于资源来说建议先读一点点的PPT ...
- Mac OS 您需要安装旧 Java SE 6 运行环境才能打开“XXX” 问题
问题描述: 今天在Mac OS上安装一个app的时候提示 “您需要安装旧 Java SE 6 运行环境才能打开 XXX” ,在网上搜索了一下,有说要改app的info.plist文件的,将其中的JVM ...
- SQL作业的操作全
--定义创建作业 转自http://hi.baidu.com/procedure/blog/item/7f959fb10d76f95d092302dd.html DECLARE @jobid uniq ...
- jQuery.lazyload详解
<SCRIPT src="jquery.js" type=text/javascript></SCRIPT> <SCRIPT src="jq ...
- DSP using MATLAB 随书示例Example2.8
x = [3, 11, 7, 0, -1, 4, 2]; nx = [-3:3]; h = [2, 3, 0, -5, 2, 1]; nh = [-1:4]; [y,ny] = conv_m(x,nx ...
- express-15 与生产相关的问题
执行环境 Express支持执行环境的概念,它是一种在生产.开发或测试模式中运行应用程序的方法.实际上你可以按自己的想法创建很多种不同的环境. 要记住,开发.生产和测试是"标准"环 ...
- 我的DbHelper数据操作类
其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...
- http://blog.csdn.net/chenleixing/article/details/43740759
http://blog.csdn.net/chenleixing/article/details/43740759
- 将公司的主要项目从eclipse迁移到android studio for mac环境(1)
上星期,我决定要解决这个问题.理由如下: 3个月之前,我已经投入一段时间要做好这个迁移工作,直到最后,我发现能够安装了,但是运行不了,这个过程也看不到bugly上传,在找不到原因的情况下,我放弃了. ...