Создавая строку, вы а) открываете себя для SQL-инъекций и б) в конечном итоге преобразуете строки в datetime в строки в datetime.
Если вместо этого вы используете параметры:
Dim a As String
a = "INSERT INTO tblVisitor(Name, Sex, TimeIn, EnterDate)
VALUES(@Name, @Sex, @TimeIn, @EnterDate)"
myCommand = New SqlCommand(a, myConnection)
myCommand.Parameters.AddWithValue("@Name",txtName.Text)
myCommand.Parameters.AddWithValue("@Sex",cboSex.Text)
myCommand.Parameters.AddWithValue("@TimeIn",DateTime.Now)
myCommand.Parameters.AddWithValue("@EnterDate",DateTime.Parse(cboEnterDate.Text))
myCommand.ExecuteNonQuery()
, который выполняет только одно преобразование строки в дату и время.Хотя, если cboEnterDate
является DateTimePicker , вы можете вообще не рассматривать его как строку:
myCommand.Parameters.AddWithValue("@EnterDate",cboEnterDate.Value)