海马汽车经销商管理系统技术解析(四)保养管理
2015-05-30 18:57
483 查看
海马汽车经销商管理系统技术解析(四)保养管理
保养管理包括提取、支店保养、审核等功能。根据维修单号提取信息,完善相关保养信息,进行保存,生成保养单,然后对保养单进行审核。支店保养需要先选择支店然后根据条件查询相关信息,完善相关保养信息,进行保存生成保养单,然后对保养单进行审核。还可进行删除、修改未审核的保养单。还有上页、下页等功能。保养管理主界面如图(图1)所示:
显示所有的保养单。
(图1)
提取工单界面如图(图2)所示:
根据工单号提取车辆信息。
(图2)
支店保养选择支店界面如图(图3)所示:
先选择支店,然后提取车辆信息。
(图3)
支店保养提取车辆信息界面如图(图4)所示:
可以根据不同的条件提取车辆信息。
(图4)
审核界面如图(图5)、(图6)所示:
先提示该车已经保养的次数,然后保养次序会已经保养的次数上 +1。
(图5)
(图6)
从界面上可以看到我们这里用到的控件有
控件名称 | 说明 |
(ToolStrip) | 控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
表格(DataGridView) | |
按钮(toolStripButton) /(Button) | |
复选框(CheckBox) | |
下拉框(ComBoBox) | |
文本框(TextBox) | |
日期控件(DateTimePicker) |
第一步:数据库
1、表和关系
(图7)
表1:维修工单表(PW_ServiceWorkBillList)
用于存放维修工单录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
ServiceWorkBillID | int | 主键 | 维修工单ID |
WorkOddNumBer | nchar (20) | 维修工单号 | |
BespeakBillID | int | 外键 | 预约单表,预约单ID |
CarNewsID | int | 外键 | 车辆信息表,车辆信息ID |
EntranceMileage | decimal (18, 2) | 进厂里程 | |
BusinessSort | nchar (20) | 业务类别 | |
EntranceTime | datetime | 进厂时间 | |
CarryRepairPerson | nchar (20) | 送修人 | |
SurplusOilVolume | decimal (18, 2) | 剩余油量 | |
PlanGathering | decimal (18, 2) | 预收款 | |
BookingCarDeliveryTime | nchar (20) | 预计交车时间 | |
LastTimeInTheFactory | nchar (20) | 上次进厂时间 | |
BespeakOddNumBer | nchar (20) | 预约单号 | |
MemberSort | nchar (20) | 会员类别 | |
ServiceAdviser_StaffID | int | 外键 | 员工表,员工ID_服务顾问 |
InsureCompanyID | nchar (20) | 保险公司ID | |
AttributeMinuteID_CarStatus | int | 外键 | 属性明细表,属性明细ID_车辆状态 |
IfWashCar | bit | 海马汽车否 | |
OldPieceDispose | nchar (20) | 旧件处理 | |
InspectRecord | nchar (100) | 环检记录 | |
ClientDescribe | nchar (100) | 顾客陈述 | |
Remarks | nchar (100) | 备注 | |
IfBespeak | bit | 预约否 | |
IfDebt | bit | 欠款否 | |
IfResourceRelease | bit | 资源释放否 |
用于存放保养单录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
UpkeepBillID | int | 主键 | 保养单ID |
UpkeepOddNumbers | nchar (20) | 保养单号 | |
ServiceWorkOddNumBer | nchar (20) | 维修工单号 | |
AttributeMinuteID_UpkeepPar | int | 外键 | 属性明细ID_保养标准 |
UpkeepOrder | nchar (20) | 保养次序 | |
UpkeepSite | nchar (50) | 保养地址 | |
SteerMileage | decimal (18, 2) | 保养里程 | |
VerifyDate | datetime | 审核日期 | |
UpkeepDate | datetime | 保养日期 | |
UpkeepBatch | nchar (20) | 保养批次 | |
VerifyResult | nchar (100) | 审核结果 | |
VerifyOpinion | nchar (20) | 审核意见 | |
IfVerify | bit | 核准否 | |
CarNewsID | int | 外键 | 车辆信息ID |
AttributeMinuteID_VerifyResult | int | 外键 | 属性明细ID_审核结果 |
用于存放车辆录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
CarNewsID | int | 主键 | 车辆信息ID |
CarOwnerNewsID | int | 外键 | 车主信息ID |
RecordNumber | nchar (20) | 档案号 | |
LicensePlateNumber | nchar (20) | 车牌号 | |
CarModelsCode | nchar (20) | 车型代码 | |
VINCode | nchar (20) | VIN码 | |
MotorModel | nchar (20) | 发动机型号 | |
TransmissionType | nchar (20) | 变速箱形式 | |
MotorNumber | nchar (20) | 发动机号 | |
TransmissionNumber | nchar (20) | 变速箱号码 | |
KeyNumber | nchar (20) | 钥匙号 | |
ShiftWay | nchar (20) | 换挡方式 | |
CarModelsYearFund | nchar (20) | 车型年款 | |
Displacement | nchar (20) | 排量 | |
EquipmentCode | nchar (20) | 装备代码 | |
BodyworkColour | nchar (10) | 车身颜色 | |
LeaveFactoryDate | datetime | 出厂日期 | |
FuelKind | nchar (20) | 燃料种类 | |
BuyCarDate | datetime | 购车日期 | |
BuyCarMileage | decimal (18, 2) | 购车里程 | |
Purpose | nchar (20) | 用途 | |
SellUnit | nchar (20) | 销售单位 | |
CarBrand | nchar (20) | 车辆品牌 | |
CarModelsSimpleCode | nchar (20) | 车型简码 | |
IfInWarranTyperiod | bit | 在保修期内 | |
UserManage | bit | 用户管理 | |
IfEffective | bit | 有效否 |
用于存放车主录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
CarOwnerNewsID | int | 主键 | 车主信息ID |
CarOwnerCode | nchar (20) | 车主代码 | |
CarOwnerName | nchar (20) | 车主姓名 | |
AttributeMinuteID_ClientTypeOne | int | 外键 | 属性明细ID_客户类型一 |
AttributeMinuteID_ClientTypeTwo | int | 外键 | 属性明细ID_客户类型二 |
AttributeMinuteID_Sex | int | 外键 | 属性明细ID_性别 |
Site | nchar (100) | 地址 | |
MobilePhone | nchar (20) | 移动电话 | |
HousePhone | nchar (20) | 住宅电话 | |
OfficePhone | nchar (20) | 办公电话 | |
AddressPostcode | nchar (20) | 住址邮编 | |
TheGenusCountiesAndCities | nchar (50) | 所属县市 | |
WorkUnit | nchar (50) | 工作单位 | |
Job | nchar (50) | 职务 | |
AttributeMinuteID_MaritalStatus | int | 外键 | 属性明细ID_婚姻状况 |
IDCard | nchar (30) | 身份证号码 | |
Birthday | datetime | 生日 | |
Hobby | nchar (100) | 爱好 | |
ChangeSite | nchar (100) | 变更地址 | |
Postcode | nchar (20) | 邮编 | |
Nationality | nchar (50) | 国籍 | |
Email | nchar (50) | Email | |
FacilitateTheReturnTime | datetime | 方便回访时间 | |
CarOwnerPicture | nchar (3000) | 车主照片 | |
Remarks | nchar (50) | 备注 | |
IfEffective | bit | 有效否 |
1、删除功能:
第一步:数据库存储过程
IF(@TYPE ='btnDelete_Click_Delete_ShanChuBangYangDan') BEGIN DELETE BM_UpkeepBillList WHERE BM_UpkeepBillList.UpkeepBillID =@UpkeepBillID END
第二步:逻辑层(BLL)代码
[OperationContract] public int btnDelete_Click_Delete_ShanChuBangYangDan(int intUpkeepBillID) { SqlParameter[] mySqlParameters = { new SqlParameter ("@TYPE",SqlDbType.Char), new SqlParameter ("@UpkeepBillID",SqlDbType.Int), }; mySqlParameters[0].Value = "btnDelete_Click_Delete_ShanChuBangYangDan"; mySqlParameters[1].Value = intUpkeepBillID; return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi", mySqlParameters); }
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary> /// 只能删除未审核的保养单,已审核的不能删除 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发事件</param> private void btnDelete_Click(object sender, EventArgs e) { if (UpkeepBillID > 0)//判断是否选择保养单 { if (IfVerify == false )//判断保养单审核否 { if (MessageBox.Show("确定删除" + txtUpkeepOddNumbers.Text + "这保养单??", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { myFRM_BaoYangGuanLiClient.btnDelete_Click_Delete_ShanChuBangYangDan(UpkeepBillID); MessageBox.Show("删除成功!!!"); FRM_BaoYangDanGuanLi_Load(null, null);//重新加载Load事件,刷新 } } else { MessageBox.Show("已审核的保养单不能删除!!!"); } } else { MessageBox.Show("请先选择需要删除的保养单!!!"); } }
2、修改功能
第一步:数据库存储过程
IF(@TYPE ='btnUpdate_Click_Update_XiuGaiBaoYangXinXi') BEGIN UPDATE BM_UpkeepBillList SET ServiceWorkOddNumBer=@ServiceWorkOddNumBer,AttributeMinuteID_UpkeepPar=@AttributeMinuteID_UpkeepPar, SteerMileage=@SteerMileage,UpkeepDate=@UpkeepDate WHERE BM_UpkeepBillList.UpkeepBillID =@UpkeepBillID END
第二步:逻辑层(BLL)代码
[OperationContract] public int btnUpdate_Click_Update_XiuGaiBaoYangXinXi(string strServiceWorkOddNumBer, int intAttributeMinuteID_UpkeepPar, decimal decSteerMileage, DateTime dtmUpkeepDate, int intUpkeepBillID) { SqlParameter[] mySqlParameters = { new SqlParameter ("@TYPE",SqlDbType.Char), new SqlParameter ("@ServiceWorkOddNumBer",SqlDbType.Char), new SqlParameter ("@AttributeMinuteID_UpkeepPar",SqlDbType.Int), new SqlParameter ("@SteerMileage",SqlDbType.Decimal), new SqlParameter ("@UpkeepDate",SqlDbType.DateTime), new SqlParameter ("@UpkeepBillID",SqlDbType.Int), }; mySqlParameters[0].Value = "btnUpdate_Click_Update_XiuGaiBaoYangXinXi"; mySqlParameters[1].Value = strServiceWorkOddNumBer; mySqlParameters[2].Value = intAttributeMinuteID_UpkeepPar; mySqlParameters[3].Value = decSteerMileage; mySqlParameters[4].Value = dtmUpkeepDate; mySqlParameters[5].Value = intUpkeepBillID; return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi", mySqlParameters); }
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary> /// 未审核的保养单才可以修改,已审核的保养单不能修改 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发事件</param> private void btnUpdate_Click(object sender, EventArgs e) { if (UpkeepBillID > 0)//判断是否选择保养单 { if (IfVerify == false)//判断保养单审核否 { if (MessageBox.Show("确定修改" + txtUpkeepOddNumbers.Text + "这保养单??", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { string strServiceWorkOddNumBer = txtServiceOddNumBer.Text.ToString ().Trim (); int intAttributeMinuteID_UpkeepPar = Convert.ToInt32(cboUpkeepPar .SelectedValue.ToString ().Trim ()); decimal decSteerMileage = Convert.ToDecimal(txtSteerMileage.Text.Trim ()); DateTime dtmUpkeepDate = Convert.ToDateTime(dtpUpkeepDate.Text.Trim ()); int intUpkeepBillID = UpkeepBillID; int i = myFRM_BaoYangGuanLiClient.btnUpdate_Click_Update_XiuGaiBaoYangXinXi(strServiceWorkOddNumBer, intAttributeMinuteID_UpkeepPar, decSteerMileage, dtmUpkeepDate, intUpkeepBillID); if (i > 0) { MessageBox.Show("修改成功!!!"); FRM_BaoYangDanGuanLi_Load(null, null);//重新加载Load事件,刷新 } } } else { MessageBox.Show("已审核的保养单不能修改!!!"); } } else { MessageBox.Show("请先选择需要修改的保养单!!!"); } }
3、审核前提示已保养次数
第一步:数据库存储过程
IF(@TYPE ='FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu') BEGIN SELECT BM_UpkeepBillList.IfVerify, BM_UpkeepBillList.CarNewsID, BM_CarNewsList.LicensePlateNumber FROM BM_UpkeepBillList INNER JOIN BM_CarNewsList ON BM_UpkeepBillList.CarNewsID = BM_CarNewsList.CarNewsID WHERE BM_CarNewsList.LicensePlateNumber=@LicensePlateNumber AND BM_UpkeepBillList.IfVerify=1 AND BM_UpkeepBillList.AttributeMinuteID_VerifyResult=35 END
第二步:逻辑层(BLL)代码
[OperationContract] public DataSet FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu(string strLicensePlateNumber) { SqlParameter[] mySqlParameters ={ new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@LicensePlateNumber",SqlDbType.Char), }; mySqlParameters[0].Value = "FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu"; mySqlParameters[1].Value =strLicensePlateNumber; DataTable dt = myDALMethod.QueryDataTable("理赔管理_FRM_BaoYangGuanLi", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; }
第三步:界面层(UIL)代码,写进界面Load事件
/// <summary> /// 若该车已经保养过的,就提示已保养次数,若是首次保养则不需要提示 /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发事件</param> private void FRM_BaoYangGuanLi_ShenHe_Load(object sender, EventArgs e) { DataTable dtVerifyResult = myFRM_BaoYangGuanLi_ShenHeClient.cboVerifyResult_Select_ChaXunShenHeJieGuo().Tables[0]; PublicStaticMothd.SetZhiXiaLaKuang(cboVerifyResult, dtVerifyResult, "AttributeMinuteID", "VerifyResult");//绑定下拉框数据 DataTable dtCar = myFRM_BaoYangGuanLiClient.FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu (FRM_BaoYangGuanLi.LicensePlateNumber).Tables[0];//根据车牌号码查询该车进行保养的所有数据 decimal decCount = 0;//定义一个次数变量 if (dtCar.Rows.Count > 0)//如果该车存在的行数>0 { MessageBox.Show("此车辆已了进行" + dtCar.Rows.Count + "次保养");//提示该车已进行N次保养 decCount = dtCar.Rows.Count + 1;//次数+1 txtUpkeepOrder.Text = "第" + decCount + "次"; } else { decCount = decCount + 1; txtUpkeepOrder.Text = "第" + decCount + "次";//否则次数为1 } }
4、审核功能
第一步:数据库存储过程
IF(@TYPE ='btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi') BEGIN UPDATE BM_UpkeepBillList SET VerifyDate=@VerifyDate, AttributeMinuteID_VerifyResult=@AttributeMinuteID_VerifyResult, VerifyOpinion=@VerifyOpinion, IfVerify=@IfVerify, UpkeepOrder=@UpkeepOrder, UpkeepBatch=@UpkeepBatch WHERE BM_UpkeepBillList.UpkeepBillID=@UpkeepBillID END
第二步:逻辑层(BLL)代码
[OperationContract] public int btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi(DateTime dtmVerifyDate, int intAttributeMinuteID_VerifyResult, string strVerifyOpinion, bool blnIfVerify, int intUpkeepBillID, string strUpkeepOrder, string strUpkeepBatch) { SqlParameter[] mySqlParameters ={ new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@VerifyDate",SqlDbType.DateTime), new SqlParameter("@AttributeMinuteID_VerifyResult",SqlDbType.Int), new SqlParameter("@VerifyOpinion",SqlDbType.Char), new SqlParameter("@IfVerify",SqlDbType.Bit), new SqlParameter("@UpkeepBillID",SqlDbType.Int), new SqlParameter("@UpkeepOrder",SqlDbType.Char), new SqlParameter("@UpkeepBatch",SqlDbType.Char), }; mySqlParameters[0].Value = "btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi"; mySqlParameters[1].Value = dtmVerifyDate; mySqlParameters[2].Value = intAttributeMinuteID_VerifyResult; mySqlParameters[3].Value = strVerifyOpinion; mySqlParameters[4].Value = blnIfVerify; mySqlParameters[5].Value = intUpkeepBillID; mySqlParameters[6].Value = strUpkeepOrder; mySqlParameters[7].Value = strUpkeepBatch; return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi_ShenHe", mySqlParameters); }
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary> /// /// </summary> /// <param name="sender">触发者</param> /// <param name="e">触发事件</param> private void btnConfirm_Click(object sender, EventArgs e) { DateTime dtmVerifyDate = Convert.ToDateTime(dtpVerifyDate.Text.Trim ()); int intAttributeMinuteID_VerifyResult = Convert.ToInt32(cboVerifyResult.SelectedValue.ToString ().Trim ()); string strVerifyOpinion = txtVerifyOpinion.Text.ToString ().Trim (); bool blnIfVerify = true; int intUpkeepBillID = FRM_BaoYangGuanLi.UpkeepBillID; string strUpkeepOrder = txtUpkeepOrder.Text.ToString().Trim(); string strUpkeepBatch = txtUpkeepBatch.Text.ToString().Trim(); int i = myFRM_BaoYangGuanLi_ShenHeClient.btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi(dtmVerifyDate, intAttributeMinuteID_VerifyResult, strVerifyOpinion, blnIfVerify, intUpkeepBillID, strUpkeepOrder, strUpkeepBatch); BaoCunFou = true; if (i > 0) { MessageBox.Show("审核成功!!!"); this.Close(); } else { MessageBox.Show("审核失败!!!"); } }
5、提取功能
第一步:数据库存储过程
IF(@TYPE ='btnConfirm_Click_Select_GongDanHaoChaXunXinXi') BEGIN SELECT PW_ServiceWorkBillList.ServiceWorkBillID, PW_ServiceWorkBillList.WorkOddNumBer, PW_ServiceWorkBillList.CarNewsID, BM_CarNewsList.CarOwnerNewsID, BM_CarNewsList.LicensePlateNumber, BM_CarNewsList.CarModelsCode, BM_CarNewsList.VINCode, BM_CarNewsList.MotorNumber, BM_CarNewsList.BuyCarDate, BM_CarOwnerNewsList.CarOwnerName, BM_CarOwnerNewsList.Site, BM_CarOwnerNewsList.MobilePhone FROM PW_ServiceWorkBillList INNER JOIN BM_CarNewsList ON PW_ServiceWorkBillList.CarNewsID = BM_CarNewsList.CarNewsID INNER JOIN BM_CarOwnerNewsList ON BM_CarNewsList.CarOwnerNewsID = BM_CarOwnerNewsList.CarOwnerNewsID WHERE PW_ServiceWorkBillList.WorkOddNumBer=@WorkOddNumBer END第二步:逻辑层(BLL)代码
[OperationContract] public DataSet btnConfirm_Click_Select_GongDanHaoChaXunXinXi(string strWorkOddNumBer) { SqlParameter[] mySqlParameters ={ new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@WorkOddNumBer",SqlDbType.Char), }; mySqlParameters[0].Value = "btnConfirm_Click_Select_GongDanHaoChaXunXinXi"; mySqlParameters[1].Value = strWorkOddNumBer; DataTable dt = myDALMethod.QueryDataTable("理赔管理_FRM_BaoYangGuanLi_TiQu", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; }
第三步:界面层(UIL)代码
先把提取的数据放进数据表,再在主界面逐一显示出来
提取数据:
public static DataTable dtWorkBillNews = new DataTable(); private bool BaoCunFou; private void btnConfirm_Click(object sender, EventArgs e) { dtWorkBillNews = myFRM_BaoYangGuanLi_TiQuClient.btnConfirm_Click_Select_GongDanHaoChaXunXinXi(txtWorkOddNumBer .Text).Tables[0];//提取数据放进数据表 BaoCunFou = true; this.Close(); }
主界面显示数据:
private void btnExtract_Click(object sender, EventArgs e) { PublicStaticObject.Pub_FRM_BaoYangGuanLi_TiQu = new FRM_BaoYangGuanLi_TiQu(); PublicStaticObject.Pub_FRM_BaoYangGuanLi_TiQu.ShowDialog(); txtBuyCarDate.Text = ""; txtCarModels.Text = ""; txtCarOwnerName.Text = ""; txtLicensePlateNumber.Text = ""; txtMotorNumber.Text = ""; txtPhone.Text = ""; txtServiceOddNumBer.Text = ""; txtSite.Text = ""; txtSteerMileage.Text = ""; txtUpkeepBatch.Text = ""; txtUpkeepOrder.Text = ""; txtUpkeepSite.Text = ""; txtVINCode.Text = ""; txtUpkeepOddNumbers.Text = ""; txtVerifyDate.Text = ""; txtVerifyResult.Text = ""; dtpUpkeepDate.Text = DateTime.Now.ToString(); if (FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows.Count > 0) { txtBuyCarDate.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["BuyCarDate"].ToString().Trim(); txtCarModels.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarModelsCode"].ToString().Trim(); txtCarOwnerName.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarOwnerName"].ToString().Trim(); txtLicensePlateNumber.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["LicensePlateNumber"].ToString().Trim(); txtMotorNumber.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarModelsCode"].ToString().Trim(); txtPhone.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["MobilePhone"].ToString().Trim(); txtServiceOddNumBer.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["WorkOddNumBer"].ToString().Trim(); txtSite.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["Site"].ToString().Trim(); txtVINCode.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["VINCode"].ToString().Trim(); ServiceWorkBillID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["ServiceWorkBillID"]); CarNewsID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarNewsID"]); CarOwnerNewsID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarOwnerNewsID"]); txtUpkeepSite.Text = "总店"; } }
仅用于学习参考,禁止用于商业用途!!
相关文章推荐
- 九宫格的计算思路
- LeetCode的medium题集合(C++实现)十七
- 视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版
- spring mvc结合freemarker,使用hibernate validation框架做校验及国际化
- 读浅墨博客 十三 笔记
- 视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版
- 矩阵快速幂大合集
- sqlselect内的执行顺序
- sqlselect内的执行顺序
- MVC架构搭建
- 【doc2vec】学习笔记:From word2vec to doc2vec: an approach driven by Chinese restaurant process
- java学习之泛型
- nginx rewrite 参数和例子
- Android 让EditText失去焦点避免自动弹出输入法
- Cuda kernel failed. Error: invalid device function
- 什么是领域逻辑层?
- 实现窗体挂号管理功能代码(四)
- Android 优化(1)
- Java_Web之神奇的Ajax
- 对线性回归、逻辑回归、各种回归的概念学习