微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 将DateTimePicker值传递给存储过程

我的表单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,...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐