У меня есть два DateTimePicker
на моей форме dtp_VacationStart
и dtp_VacationEnd
. Я хотел бы передать его значение хранимой процедурыPass 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);
}
Этот код дает мне Ошибка: строка ввода не была в правильном формате.
Спасибо за вас все ... К сожалению о путаете .. его мой первый вопрос
Как вы получаете дату? Из textBox или dateTimePicker? Если его dateTimePicker, вы должны использовать '.Value' вместо' .Text'. Если его textBox, то вы должны использовать [ParseExact Method] (https://msdn.microsoft.com/en-us/library/w2sa9yss (v = vs.110) .aspx). – Bhaskar
Дата с dateTimePicker ... я пытался использовать значение, но он дает мне ошибку Argument2: невозможно преобразовать из 'System.DateTime' в 'String' –