在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. SQL Server中使用自定义指定顺序排序

    比如需要对SQL表中的字段NAME进行如下的排序:张三(Z)李四(L)王五(W)赵六(Z) 如果想按 “ 张三.李四.王五.赵六”的顺序排序,则可以使用以下语句: order by charindex ...

  2. P1407 [国家集训队]稳定婚姻

    题目描述 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚姻问题的专家认为,是与简化离婚手续有关. 25岁的姗姗和男友谈恋爱半年就结婚,结婚不到 ...

  3. 【BZOJ1491】【NOI2007】社交网络(最短路,动态规划)

    [BZOJ1491][NOI2007]社交网络(最短路,动态规划) 题面 BZOJ 洛谷 图片是假的,只能到OJ上看 Description 在社交网络(socialnetwork)的研究中,我们常常 ...

  4. 洛谷P4609 [FJOI2016]建筑师 【第一类斯特林数】

    题目链接 洛谷P4609 题解 感性理解一下: 一神带\(n\)坑 所以我们只需将除了\(n\)外的\(n - 1\)个元素分成\(A + B - 2\)个集合,每个集合选出最大的在一端,剩余进行排列 ...

  5. BZOJ3724 [HNOI2012]集合选数 【状压dp】

    题目链接 BZOJ3724 题解 构造矩阵的思路真的没想到 选\(x\)就不能选\(2x\)和\(3x\),会发现实际可以转化为矩阵相邻两项 \[\begin{matrix}1 & 3 &am ...

  6. js new date()说明

    javaScript UTC() 方法: UTC() 方法可根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数. 要创建一个一个日期对象,可以使用以下的方式: var now=new D ...

  7. poj4052 Hrinity

    pdf题面:传送门 题目大意:给定一些单词和一个句子,问有多少个单词在句子中出现过,如果一个但单词包含另一个单词,并且两个单词都出现过,那么只算最外层的单词(包含另一个单词的单词). 分析:这道题如果 ...

  8. powerdesigner中物理模型与sql脚本的以及与数据库的连接设置

    使用JDBC连接失败的解决方案: http://blog.csdn.net/t37240/article/details/51595097 使用powerdesigner工具我们可以方便的根据需求分析 ...

  9. python学习(九) 网络编程学习--简易网站服务器

    python `网络编程`和其他语言都是一样的,服务器这块步骤为:`1. 创建套接字``2. 绑定地址``3. 监听该描述符的所有请求``4. 有新的请求到了调用accept处理请求` Python ...

  10. discuz安装小云app

    小云app登录注册: https://oauth.apps.xiaoyun.com/auth/login.do?authentication_error=1 from:http://lusongson ...