数据的增删改查(三层)

进行数据操作必然少了对数据的增删改查,用代码生成器生成的代码不是那么满意!方便在今后使用,这里就主要写“数据访问层(Dal)”

注:这里由于是用于用于测试时,临时建的数据库用于测试使用,在实际使用过程中些许改点参数就可以使用了

        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public bool Exists(long Id)
        {
            string sql = "select count(*) Name from t_temp where [email protected]";
            MySqlParameter[] param = { new MySqlParameter("@id", Id) };
            long data=(long)MySqlHelper.ExecuteScalar(sql, param);
            if (data > 0)
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public long Add(Model model)
        {
            string sql = "insert into t_temp (Name) values (@name)";
            MySqlParameter[] param = { new MySqlParameter("@name", model.Name) };
            return MySqlHelper.ExecuteNonQuery(sql, param);
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model model)
        {
            string sql = "Update t_temp set [email protected] where [email protected]";
            MySqlParameter[] param = { new MySqlParameter("@name", model.Name), new MySqlParameter("@id", model.Id) };
            if (MySqlHelper.ExecuteNonQuery(sql, param) > 0)
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public bool Delete(long Id)
        {
            string sql = "delete from t_temp where [email protected]";
            MySqlParameter[] param = { new MySqlParameter("@id", Id) };
            if (MySqlHelper.ExecuteNonQuery(sql, param) > 0)
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// 批量删除数据
        /// </summary>
        public bool DeleteList(string Idlist)
        {
            string sql = "delete from t_temp where ID in (" + Idlist + ")";
            if (MySqlHelper.ExecuteNonQuery(sql) > 0)
            {
                return true;
            }
            return false;
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model GetModel(long Id)
        {
            string sql = "select ID,Name from t_temp where [email protected]";
            MySqlParameter[] param = { new MySqlParameter("@id", Id) };
            DataTable table= MySqlHelper.ExecuteQuery(sql, param);
            if (table != null)
            {
                if (table.Rows.Count > 0)
                {
                    return DataRowToModel(table.Rows[0]);
                }
            }
            return null;
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model DataRowToModel(DataRow row)
        {
            Model mod = new Model();
            if (row != null)
            {
                if(!string.IsNullOrEmpty(row["ID"].ToString()))
                {
                    mod.Id=long.Parse(row["ID"].ToString());
                }
                if (!string.IsNullOrEmpty(row["Name"].ToString()))
                {
                    mod.Name = row["Name"].ToString();
                }
            }
            return mod;
        }

 

时间: 2024-12-03 18:44:40

数据的增删改查(三层)的相关文章

yii中数据的"增删改查"相关工作!(此文比较乱,需细看)

使用findByPk()根据数据表主键查询的是对象,不需要使用foreach()循环出来 但是使用findall()和find()查询的是对象类型的数组需要使用foreach()循环出来 ======================================= public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCommand($sql); $query = $r

Mybatis学习总结(二)—使用接口实现数据的增删改查

在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num信息.而personMapper则是该实体类的一个配置文件.需要注意的是,在上一篇博文中,namespace属性的值是其本身,而在这一篇中,使用的是接口.那么两者有什么区别呢?使用接口,那么相关的操作方法不用自己去实现,只需要调用该接口的相关的方法就能够实现相应的功能. 那么,在这里就有一个问题,接

ios CoreData框架的使用,对上下文数据的增删改查,表与表之间的关联,1对多,1对1,谓词查询,多表连接

这里是只是代码,因为博客插入图片效果不是很好,我自己写的总结比较详细,有兴趣的朋友可以在评论里留下邮箱,我收到后会发给大家. 转载注明出处,重视原创者的劳动成果,谢谢! - (void)viewDidLoad { [super viewDidLoad]; [self _creatTable];//插入数据 //    [self _query];// 查询数据 // KVC很霸道,即使readonly通过kvc也可赋值,kvo精华 //    Book * book = [[Book alloc

Node.js + MySQL 实现数据的增删改查

通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-crud && cd $_ $ yarn init -y && npx gitignore node 上面的命令创建了一个空文件夹 node-crud,进入之后初始化一个 package.json 以及创建 .gitignore 文件. 安装 Koa 并创建 app.js 以启动一个

JavaEE使用三层架构(显示层、业务逻辑层、数据访问层)实现数据的增删改查

实例: 1.功能描述 实现一个简易新闻发布系统,包括查看.添加.修改和删除新闻等基本功能 2.具体要求 (1) 创建数据库 newssystem,创建表 news,要求如下: (2) 程序运行时,显示'发布新闻'页面(如图 1),输入相关内容,单击'提交'按钮,将新闻内容添加到数据库 (3) 单击图 1 中的'查看'按钮,显示'查看新闻'页面(如图 2),增加'修改'和'删除'链接 (4) 单击图 2 中的'update'链接,显示'修改新闻'页面(如图 3),修改后单击'修改'按钮确认,单击'

linq的创建 和 数据的增删改查

1.linq创建之前,一定要在sql做好数据表的主外键关系. 2.linq文件是以.dbml结尾,一般一个数据库的名字就是一个linq的名字 3,以实例来演示增删改查 数据库的名字为linq,里面有两个表Users(UserName,Password,Sex,NickName,Birthday,Nation)和Nation(NationCode,NationName) (1)创建名为linq的linq. 创建完之后啥也不用改,如果需要在重新封装类和数据扩展,那就想以前重新建立Users和User

SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/

Mysql学习笔记(三)对表数据的增删改查。

写在前面:(一些牢骚,可以直接跳到分割线后) 太过敏感的人不会快乐,不幸的是我正是这种性格的人. 从培训机构毕业后,迫于经济方面的压力,和当时的班里的一个同学住在了一起,我们在一个公司上班.谁知道这都是不开心生活的源头,从每天早晨开始心情就很糟糕.他是个脾气很慢的人,我是个急脾气,特别是在早上上班的时候.由此种种吧,实在是不胜枚举.算了,还是不说了,太痛苦了,我不太喜欢说别人的坏话.我是学心理学的,已经用各种方法去安慰自己,但是都不太奏效. 回想以往和朋友的交往中,我虽然不算十分合群的人,但绝对

Mybatis学习(3)实现数据的增删改查

前面已经讲到用接口的方式编程.这种方式,要注意的一个地方就是.在User.xml  的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致.如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情: 1. 用 mybatis 查询数据,包括列表 2. 用 mybatis 增加数据 3. 用 mybatis 更新数据.