在Server层定义WaterLevelSetServer和WaterLevelRecordServer两个子类,分别继承DeviceSetServer和DeviceRecordServer。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SMOS.DAL.Device;
using SMOS.Model.Device; namespace SMOS.Server.Impl.Device
{
public class WaterLevelSetServer:DeviceSetServer
{
private WaterLevelSetDao WaterLevelSetDao = new WaterLevelSetDao();
/// <summary>
/// 查询水位计设置信息
/// </summary>
/// <param name="deviceID">水位计设置信息</param>
/// <returns>设备信息</returns>
public override object GetDeviceSetInfo(int deviceID)
{
return WaterLevelSetDao.GetWaterLevelSetInfo(deviceID);
} /// <summary>
/// 查询所有水位计设备信息
/// </summary>
/// <returns>设备列表</returns>
public override IList<object> GetAllDeviceSetInfo()
{
return WaterLevelSetDao.GetAllWaterLevelSetInfo().ToList<Object>();
}
/// <summary>
/// 增加水位计设置
/// </summary>
/// <param name="DeviceSetInfo"></param>
/// <returns>操作记录数</returns>
public override int AddDeviceSetInfo(object waterLevelSetInfo)
{
WaterLevelSetInfo entity = waterLevelSetInfo as WaterLevelSetInfo;
if (entity == null)
{
throw new Exception("水位计设置信息不能为空!");
}
WaterLevelSetInfo dbInfo = WaterLevelSetDao.GetWaterLevelSetInfo(entity.DeviceID);
if (dbInfo != null)
{
//throw new Exception("该水位计设备设置信息已存在!");
return WaterLevelSetDao.ModifyWaterLevelSetInfo(entity);
}
else
{
return WaterLevelSetDao.AddWaterLevelSetInfo(waterLevelSetInfo as WaterLevelSetInfo);
} }
/// <summary>
/// 修改水位计设置
/// </summary>
/// <param name="deviceSetInfo"></param>
/// <returns>操作记录</returns>
public override int ModifyDeviceSetInfo(object waterLevelSetInfo)
{
return WaterLevelSetDao.ModifyWaterLevelSetInfo(waterLevelSetInfo as WaterLevelSetInfo);
}
/// <summary>
/// 删除水位计设置
/// </summary>
/// <param name="deviceSetInfo"></param>
/// <returns>操作记录</returns>
public override int DelDeviceSetInfo(object waterLevelSetInfo)
{
return WaterLevelSetDao.DelWaterLevelSetInfo(waterLevelSetInfo as WaterLevelSetInfo);
}
}
}

DeviceSetServer.cs

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SMOS.IServer.Device; namespace SMOS.Server.Impl.Device
{
public abstract class DeviceSetServer:IDeviceSetServer
{
public abstract object GetDeviceSetInfo(int deviceID); public abstract IList<object> GetAllDeviceSetInfo(); public abstract int AddDeviceSetInfo(object deviceSetInfo); public abstract int ModifyDeviceSetInfo(object deviceSetInfo); public abstract int DelDeviceSetInfo(object deviceSetInfo);
}
}

若需转载请标明出处或链接http://www.cnblogs.com/EaIE099/,本人初入职场,对编程也是一个菜鸟,只想把自己所学点滴记录下来,如有不合理的地方希望各位高手多多指点,非常感谢!

用C#实现对MSSqlServer数据库的增删改查---Server层(WaterLevelSetServer.cs、DeviceSetServer.cs)的更多相关文章

  1. 用C#实现对MSSqlServer数据库的增删改查---Server层(WaterLevelRecordServer.cs、DeviceRecordServer.cs)

    抛开现实的残酷与无奈,对技术孜孜不倦的追求,从专注到执着,从疯狂到忘我,始终坚信代码可以改变世界,更能改变自己的人生. WaterLevelRecordServer.cs using System; ...

  2. 用C#实现对MSSqlServer数据库的增删改查---DAL层

    说明:本人完成的工作是对传感器--超声波物位计进行硬件集成,上位机通过串口接收传感器数据并将其存到数据库中:在DAL层实现对数据库的增删改查,其中包含两个数据表分别是WaterLevelSet表和Wa ...

  3. SQLite帮助类SQlitehelper 实现对SQLite数据的增删改查

    public class SQLiteHelper { public const string sConn = "Data Source=" + @"path" ...

  4. python web.py操作mysql数据库,实现对数据库的增删改查操作

    使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...

  5. Java操作数据库实现"增删改查"

    本文主要讲解JDBC操作数据库    主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一   DriverManager类 DriverManage类 ...

  6. ThinkPHP实现对数据库的增删改查

    好久都没有更新博客了,之前老师布置的任务总算是现在可以说告一段落了,今天趁老师还没提出其他要求来更新一篇博客. 今天我想记录的是我之前做项目,自己所理解的ThinkPHP对数据库的增删改查. 首先要说 ...

  7. Android学习---数据库的增删改查(sqlite CRUD)

    上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...

  8. Android 系统API实现数据库的增删改查和SQLite3工具的使用

    在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...

  9. Android SQL语句实现数据库的增删改查

    本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...

随机推荐

  1. 第93天:CSS3 中边框详解

    CSS3 边框详解 其中边框圆角.边框阴影属性,应用十分广泛,兼容性也相对较好,具有符合渐进增强原则的特征,我们需要重点掌握. 一.边框圆角  border-radius    每个角可以设置两个值 ...

  2. action动作类的生命周期

    创建:Action动作类每次请求的时候都会创建一个实例对象 销毁:当前action动作类的请求响应完后就消失了 跟javaweb中的HttpServletRequest的生命周期是一样的,struts ...

  3. 【bzoj1067】[SCOI2007]降雨量 倍增RMQ

    题目描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和200 ...

  4. liunx less 命令

    1.命令格式: less [参数]  文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会 ...

  5. 洛谷 P2763 试题库问题(网络流24题之一)

    题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取m 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法. ...

  6. IPv4协议及VLSM可变长子网划分和CIDR无类域间路由

    IPv4协议及VLSM可变长子网划分和CIDR无类域间路由 来源 https://blog.csdn.net/hongse_zxl/article/details/50054817 互联网世界一切通信 ...

  7. 洛谷 P4027 [NOI2007]货币兑换 解题报告

    P4027 [NOI2007]货币兑换 题目描述 小 \(Y\) 最近在一家金券交易所工作.该金券交易所只发行交易两种金券:\(A\) 纪念券(以下简称 \(A\) 券)和 \(B\) 纪念券(以下简 ...

  8. vector 一边遍历一边删除

    for(std::vector<int>::iterator it = m_ConnectId.begin();it!=m_ConnectId.end();){ ) < ){ m_C ...

  9. js 判断图片是否加载完成(使用 onload 事件)

    我们在写 jquery 的时候一般都会写 $(document).ready,加载完成事件还有一个就是 onload onload 与 ready 的区别是: 1.ready 是 DOM 加载完成的事 ...

  10. python自学笔记(二)

    通过前文介绍,大体上可以用学过的知识做一些东西了. 这里简单介绍下python参数解析argparse命令. 使用argparse需要引用  import argparse 然后调用 parser = ...