dataset获取修改行存至数据库,提交datetime参数至存储过程时,数据库参数成了 defau

2019-01-03 00:26发布

 QueryBuilder<DataSetYs> ss = new QueryBuilder<DataSetYs>();
                    ss.addInParams(null, null, null);
                    _ys = this.GetQueryResult(ss);

                    DataSetYs.T_YSRow row = _ys.T_YS.FindById(int.Parse(_id));
                    row.xtlxID = Convert.ToString(this.comboBox_XtlxtId.SelectedValue);
                    row.yslxID = Convert.ToString(this.comboBox_yslxId.SelectedValue);
                    row.ysName = this.textBox_ysName.Text;
                    row.ysLevel = P_ysLevel;
                    row.ysStatus = Convert.ToString(this.comboBox_ysStatus.SelectedValue);//约束状态
                    row.ysComment = "-----------------------"; //this.textBox_ysComment.Text;//约束状态
                    row.ysRemark1 = this.textBox_ysRemark1.Text; //备注1
                    row.ysRemark2 = this.textBox_ysRemark2.Text;//备注2
                    row.ysRemark3 = this.textBox_ysRemark3.Text;//备注3
                    row.ValidStartTime= DateTime.Parse(this.dateTimePicker_ysStart.Value.ToString());//有效开始时间
                    row.ValidEndTime= DateTime.Parse(this.dateTimePicker_ysEnd.Value.ToString()); //有效终止时间
this.UpdateDataset(_ys, "T_YS");//修改已更改的行
调用存储过程时,接收的参数变成了default,实际界面是有值的
@ValidStartTime=default,@ValidEndTime=default
错误提示:

“System.ApplicationException”类型的异常在 TP.exe 中发生,但未在用户代码中进行处理

其他信息: 过程或函数 'P_YS_U' 需要参数 '@ValidStartTime',但未提供该参数。

 

是通过程序集操作的

1条回答
再贱就再见
2楼-- · 2019-01-03 01:19

你在保存到数据库的时候应该转换一下,因为从页面传过来的时间值,默认是string类型,所以需要类型转换

查看更多
登录 后发表回答