c# – 将DateTimePicker值传递给存储过程
发布时间:2020-12-16 02:04:21 所属栏目:百科 来源:网络整理
导读:我的表单dtp_VacationStart和dtp_VacationEnd上有两个DateTimePicker.我想将其值传递给存储过程 我的SQL代码 CREATE PROC [ADD_VACATION] @vacationStart date,@vacationEnd date,@vacationMem nvarchar (100) = NULL,@idVacationKind_L int,@idMember_L int
我的表单dtp_VacationStart和dtp_VacationEnd上有两个DateTimePicker.我想将其值传递给存储过程
我的SQL代码 CREATE PROC [ADD_VACATION] @vacationStart date,@vacationEnd date,@vacationMem nvarchar (100) = NULL,@idVacationKind_L int,@idMember_L int AS INSERT INTO [tblVacation] ([vacationStart],[vacationEnd],[vacationMem],[idVacationKind_L],[idMember_L]) VALUES (@vacationStart,@vacationEnd,@vacationMem,@idVacationKind_L,@idMember_L) C#代码: public void ADD_VACATION(string vacationStart,string vacationEnd,string vacationMem,int idVacationKind_L,int idMember_L) { DAL.open(); SqlParameter[] param = new SqlParameter[5]; param[0] = new SqlParameter("@vacationStart",SqlDbType.Date); param[0].Value = vacationStart; param[1] = new SqlParameter("@vacationEnd",SqlDbType.Date); param[1].Value = vacationEnd; param[2] = new SqlParameter("@vacationMem ",SqlDbType.NVarChar,100); param[2].Value = vacationMem; param[3] = new SqlParameter("@idVacationKind_L",SqlDbType.Int); param[3].Value = idVacationKind_L; param[4] = new SqlParameter("@idMember_L",SqlDbType.Int); param[4].Value = idMember_L; DAL.ExecuteCommand("ADD_VACATION",param); DAL.close(); } 而事件 private void btnAddVacation_Click(object sender,EventArgs e) { cms.ADD_VACATION( dtp_VacationStart.Text,dtp_VacationEnd.Text,txtVacationMemory.Text,Convert.ToInt32(cmbVacationKind.SelectedValue),Convert.ToInt32(dgMember_Grade.CurrentRow.Cells[0].Value.ToString())); MessageBox.Show("Added Successfuly"," ",MessageBoxButtons.OK,MessageBoxIcon.Information); } 此代码给出了一个错误:输入字符串格式不正确. 谢谢大家…抱歉令人困惑..这是我的第一个问题 解决方法
您的SqlParameter @vacationStart的类型为DateTime,但您为其指定了一个字符串.
您应该获取DateTimePicker的DateTime值(而不是DateTimePicker.Text中的字符串表示): DateTime vacationStart = dtp_VacationStart.Value; 并更改ADD_VACATION的签名: public void ADD_VACATION(DateTime vacationStart,... 现在你可以使用它: private void btnAddVacation_Click(object sender,EventArgs e) { DateTime vacationStart = dtp_VacationStart.Value; cms.ADD_VACATION(vacationStart,... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |