客运综合管理系统项目解析-安全检查(模块)-出站检查查询
2015-06-02 22:05
507 查看
2.3-4 出站检查查询
安全检查-出站检查查询是是基础数据的一个记录查询,功能如图2.3-4从界面上可以看到我们这里用到工具箱的控件有:
控件名称 | 说明 |
容器控件(框)GroupBox | 每个控件都可以根据需要的功能更改其属性,右键查看.也可以进行编辑事件-->找到一个闪电图标点击查看需要的事件,例如:查询按钮(btnSrean)是修改过按钮文本Text属性的重命名! btnSrean_Click这是单击查询事件,还有很多的事件根据项目需求找到来编辑. |
公共控件(单选框)CheckBox | |
公共控件(文字描写)Label | |
公共控件(按钮)Button | |
公共控件(日期)DateTimePicker | |
公共控件(文本框)TextBox | |
所有Windows窗体(dgv)DataGridView | |
公共控件(下拉框)ComboBox | |
公共控件(显示图像)PictureBox |
第一步:数据库
1、 表与表关系(图2.3-4)
从上面可以知道用到的表有:
表1:车辆表 (VehicleList)
主要包含如下字段信息:(说明)
列名 | 数据类型 | 主键/外键 | 说明 |
VehicleID | int - Identity | 主键 | 车辆ID |
VehicleNumber | char (100) | 车辆编号 | |
VehicleBlockNumber | char (100) | 车牌号 | |
VehicleStateID | int | 外键 | 车辆状态ID |
MotorcadeID | int | 外键 | 车队ID |
VehicleClearID | int | 外键 | 车辆明细ID |
VehicleTypeID | int | 外键 | 车型ID |
DriverID | int | 外键 | 司机ID |
DeputyDriverOneID | int | 外键 | 副司机1ID |
DeputyDriverTwoID | int | 外键 | 副司机2ID |
StationID | int | 外键 | 站点ID |
LineID | int | 外键 | 线路ID |
OpenVehicleTime | datetime | 发车时间 | |
ASeatNumberID | int | 外键 | 座号ID |
EntireTicketNumber | char (100) | 全票数 | |
HalfTicketNumber | char (100) | 半票数 | |
DiscountTicketNumber | char (100) | 打折票数 | |
FreeTicketNumber | char (100) | 免票数 | |
FeeRateID | int | 外键 | 费率ID |
SeatNumber | char (100) | 座位数 | |
AddSeatNumber | char (100) | 加座数 | |
TotalSum | decimal (18, 2) | 总金额 | |
Remarks | char (100) | 备注 | |
ClassesLongStopID | int | 外键 | 班次长停ID |
ClassesRepeatID | int | 外键 | 班次循环ID |
ClassesNewsID | int | 外键 | 班次信息ID |
Classes | char (100) | 班次 | |
OpenVehicleSiteID | int | 外键 | 发车站ID |
EndVehicleSiteID | int | 外键 | 终点站ID |
DeductFeeNo | bit | 扣费否 | |
MotorTypeNumber | char (100) | 发动机型号 | |
MotorNumber | char (100) | 发动机号 | |
VehicleAlterTypeCase | char (100) | 车辆改型情况 | |
WhetherCheck | char (100) | 是否安检 | |
SafeCheckNo | bit | 安检否 |
主要包含如下字段信息:(说明)
列名 | 数据类型 | 主键/外键 | 说明 |
StationID | int - Identity | 主键 | 站点ID |
StationNumber | char (100) | 站点编号 | |
StationName | char (100) | 站点名称 | |
WindowID | int | 外键 | 窗口ID |
StopNo | bit | 调用否 |
主要包含如下字段信息:(说明)
列名 | 数据类型 | 主键/外键 | 说明 |
VehicleStateID | int - Identity | 主键 | 车辆状态ID |
VehicleStateName | char (100) | 车辆状态MC |
主要包含如下字段信息:(说明)
列名 | 数据类型 | 主键/外键 | 说明 |
LineID | int - Identity | 主键 | 线路ID |
LineName | char (100) | 线路MC | |
VehicleID | int | 外键 | 车辆ID |
Remarks | char (100) | 备注 | |
StopNo | bit | 调用否 |
主要包含如下字段信息:(说明)
列名 | 数据类型 | 主键/外键 | 说明 |
OutVehicleID | int - Identity | 主键 | 出车ID |
VehicleStateID | int | 外键 | 车辆类型ID |
OutVehicleTime | datetime | 出车时间 | |
VehicleID | int | 外键 | 车辆ID |
UserTo | int | 有用否 |
数据库对应逻辑层(BLL)和界面层(UIL)文件夹:SafetyCheck_frmOutStopDemand(出站检查查询窗体和对应的类的存储过程)
USE [客运综合管理系统2015] GO /****** Object: StoredProcedure [dbo].[SafetyCheck_frmOutStopDemand] Script Date: 06/01/2015 08:45:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[SafetyCheck_frmOutStopDemand]--[安全检查] @Type CHAR(200)='' AS BEGIN IF @Type='frmOutStopDemand_Load_dgvOutStopDemand'--dgv查询 BEGIN SELECT VehicleList.VehicleID, OutVehicleList.OutVehicleTime, LTRIM(RTRIM(VehicleList.VehicleBlockNumber))AS VehicleBlockNumber, LTRIM(RTRIM(VehicleStateList.VehicleStateName))AS VehicleStateName, LTRIM(RTRIM(StationList.StationName))AS StationName, LTRIM(RTRIM(LineList.LineName))AS LineName, LTRIM(RTRIM(VehicleList.AddSeatNumber))AS AddSeatNumber, LTRIM(RTRIM(VehicleList.Classes))AS Classes, LTRIM(RTRIM(StationList_1.StationName)) AS OpenStationName, LTRIM(RTRIM(StationList_2.StationName)) AS EndStationName, LTRIM(RTRIM(VehicleList.SeatNumber))AS SeatNumber, LTRIM(RTRIM(VehicleList.WhetherCheck))AS WhetherCheck, VehicleList.SafeCheckNo, LTRIM(RTRIM(VehicleList.Remarks))AS Remarks FROM VehicleList INNER JOIN VehicleStateList ON VehicleList.VehicleStateID = VehicleStateList.VehicleStateID INNER JOIN StationList ON VehicleList.StationID = StationList.StationID INNER JOIN LineList ON VehicleList.LineID = LineList.LineID INNER JOIN OutVehicleList ON VehicleList.VehicleID = OutVehicleList.VehicleID INNER JOIN StationList AS StationList_1 ON VehicleList.OpenVehicleSiteID = StationList_1.StationID INNER JOIN StationList AS StationList_2 ON VehicleList.EndVehicleSiteID = StationList_2.StationID WHERE OutVehicleList.UserTo<>3 ORDER BY OutVehicleList.OutVehicleTime DESC--数据按日期最新排序 END END
第二步:服务端BLL(逻辑层)写方法<---调用数据库代码:
对应文件夹: SafetyCheck_frmOutStopDemand.cs(出站检查查询类)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; //添加命名空间 using System.Data; //添加命名空间 using System.Data.SqlClient;//添加命名空间 namespace BLL客运综合管理系统.SafeCheck { [ServiceContract]//添加服务标签 public class frmOutStopDemand { DALPublic.DALMethod myDALMethod = new DALPublic.DALMethod();//实例化调用数据库方法 #region 绑定dgv信息 [OperationContract]//添加行为标签 public DataSet frmOutStopDemand_Load_dgvOutStopDemand() { SqlParameter[] mySqlParameters = { new SqlParameter("@Type", SqlDbType.Char), }; mySqlParameters[0].Value = "frmOutStopDemand_Load_dgvOutStopDemand";//对应数据库方法名称 DataTable dt = myDALMethod.QueryDataTable("SafetyCheck_frmOutStopDemand", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; //返回值 } #endregion } }
第三步:客户端UIL(界面层)写调用方法<---调用BLL(逻辑层)代码:
对应文件夹: SafetyCheck_frmOutStopDemand.cs(出站检查查询窗体)对应各种功能详解:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; //添加命名空间 using System.Text; //添加命名空间 using System.Windows.Forms;//添加命名空间 namespace XX集团客运综合管理系统client.SafeCheck { public partial class frmOutStopDemand : Form { public frmOutStopDemand() { InitializeComponent(); } BLL客运综合管理系统.SafeCheck.frmOutStopDemand.frmOutStopDemandClient myfrmOutStopDemandClient = new BLL客运综合管理系统.SafeCheck.frmOutStopDemand.frmOutStopDemandClient();//实例化调用BLL方法 public delegate void ChangeFormColor(bool topmost); //自定义方法使用 public delegate void ChangeFormColor1(bool topmost1); //自定义方法使用 public event ChangeFormColor ChangeColor; //自定义方法使用 public event ChangeFormColor1 ChangeColor1;//自定义方法使用 private void frmChuZhangChaXun_FormClosing(object sender, FormClosingEventArgs e) { ChangeColor1(true); ChangeColor(true); } #region frmOutStopDemand_Load事件功能 DataTable dtdgvOutStopDemand;//声明一个全局变量 private void frmOutStopDemand_Load(object sender, EventArgs e) {
dtdgvOutStopDemand = myfrmOutStopDemandClient.frmOutStopDemand_Load_dgvOutStopDemand().Tables[0]; dgvOutStopDemand.DataSource = dtdgvOutStopDemand;//绑定dgv信息 this.dgvOutStopDemand = SYS_PublicStaticClass.SetDgv(dgvOutStopDemand);//序号 this.dgvOutStopDemand.CellBorderStyle = DataGridViewCellBorderStyle.Sunken;//设置dgv三维凹陷边框 this.dgvOutStopDemand.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//设置dgv列标题居中 this.dgvOutStopDemand.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//设置dgv单元格内容居中
string[] strVehicleBlockNumber=new string[dtdgvOutStopDemand.Rows.Count]; for (int i = 0; i < dtdgvOutStopDemand.Rows.Count; i++) { strVehicleBlockNumber[i] = dtdgvOutStopDemand.Rows[i]["VehicleBlockNumber"].ToString().Trim(); } txtVehicleBlockNumber.AutoCompleteSource = AutoCompleteSource.CustomSource;//设置车牌号自动完成源 txtVehicleBlockNumber.AutoCompleteCustomSource.AddRange(strVehicleBlockNumber); txtVehicleBlockNumber.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
dtpCheckTickeDate.Format = DateTimePickerFormat.Custom;//设置时间格式2015-04-21 11:09:00 dtpCheckTickeDate.CustomFormat = "yyyy-MM-dd HH:mm:ss"; dtpCheckTickeDateOne.Format = DateTimePickerFormat.Custom; dtpCheckTickeDateOne.CustomFormat = "yyyy-MM-dd HH:mm:ss"; } #endregion
#region 多条件查询功能:btnSearch_Click单击事件 private void btnSearch_Click(object sender, EventArgs e) { DataView dvOutStopDemand = new DataView(dtdgvOutStopDemand);//实例化 DateTime dtCheckTickeDate = dtpCheckTickeDate.MinDate;//获取日期最小值 DateTime dtCheckTickeDateOne = dtpCheckTickeDateOne.MaxDate;//获取日期最大值 string strVehicleBlockNumber = "";//声明变量赋值 if (chkCheckTickeDate.Checked==true)//判断 { dtCheckTickeDate = dtpCheckTickeDate.Value;//获取日期控件的日期值 dtCheckTickeDateOne = dtpCheckTickeDateOne.Value; } if (txtVehicleBlockNumber.Text != null) { strVehicleBlockNumber = txtVehicleBlockNumber.Text.ToString().Trim(); } dvOutStopDemand.RowFilter = "OutVehicleTime>='" + dtCheckTickeDate + "'AND OutVehicleTime<='" + dtCheckTickeDateOne + "'AND VehicleBlockNumber LIKE'%" + strVehicleBlockNumber + "%'"; dgvOutStopDemand.DataSource = dvOutStopDemand.ToTable();//绑定返回数据查询 } #endregion } }
以上是安全检查-出站检查查询功能实现步骤:数据库-->BLL-->UIL
----实现功能待续!!!
以上仅供学习参考,禁止商业用途!!!
相关文章推荐
- LeetCode 20: Valid Parentheses
- django web 中添加超链接
- Binary Tree Level Order Traversal II
- 最后期限2
- ORA-01940:无法删除当前已链接的用户
- 解决ORA-28000: the account is locked
- 终于解决“Git Windows客户端保存用户名与密码”的问题
- iOS开发系列--UITableView全面解析
- 文本处理
- LeetCode 19: Remove Nth Node From End of List
- [Android Studio 权威教程]Windows下安装Android Studio
- Android播放视频
- PICT的安装和使用
- [Objective-C 面试简要笔记]
- java.lang.ClassNotFoundException: org.apache.http.util.Args
- nginx强制使用https访问(http跳转到https)
- 免费电子书:C#代码整洁之道
- 在VMware上安装Ubuntu14.04 , Docker
- 解决Linux(ubuntu),windows双系统重装后恢复开机选单
- 【Struts0002】Difference between # , $ and % signs in Struts2