• 数据的增删改查(三层)<!--待补充-->


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

    既然这里提到三层架构:有必要将三层内容在这里详细介绍一下(待补充)

    注:这里进行数据库操作时,进行参数化查询语句就是我不太推荐的一种写法!

    参数化查询推荐写法见:http://www.cnblogs.com/fengxuehuanlin/p/5362697.html

            /// <summary>
            /// 是否存在该记录
            /// </summary>
            public bool Exists(long Id)
            {
                string sql = "select count(*) Name from t_temp where ID=@id";
                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 Name=@name where ID=@id";
                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 ID=@id";
                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 ID=@id";
                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;
            }

     

  • 相关阅读:
    Oracle Core 学习笔记二 Transactions 和 Consistency 说明
    Oracle AUTO_SPACE_ADVISOR_JOB 说明
    Windows 下 ftp 上传文件 脚本
    Oracle 11g 中 Direct path reads 特性 说明
    Linux 使用 wget 下载 Oracle 软件说明
    Oracle 10g read by other session 等待 说明
    Oracle 11g RAC INS06006 Passwordless SSH connectivity not set up between the following node(s) 解决方法
    SecureCRT 工具 上传下载数据 与 ASCII、Xmodem、Ymodem 、Zmodem 说明
    Oracle RAC root.sh 报错 Timed out waiting for the CRS stack to start 解决方法
    Oracle RESETLOGS 和 NORESETLOGS 区别说明
  • 原文地址:https://www.cnblogs.com/fengxuehuanlin/p/5274185.html
Copyright © 2020-2023  润新知