Ошибка преобразования при преобразовании даты и / или времени из символьной строки в vb.net - PullRequest
0 голосов
/ 19 марта 2020

, когда я пытаюсь записать этот выбор в vb. net и базе данных sqlserver:

da = New SqlDataAdapter("select * from UserComeView where ( ComeUserFullName=" & cmb_user.SelectedValue & " ) and ( ComeDate between '" & Date1.Value & "' and '" & Date2.Value & "')", sql.sqlcon)

появляется эта ошибка:

Преобразование не удалось при преобразовании даты и / или время из строки символов.

1 Ответ

0 голосов
/ 19 марта 2020

Я предполагаю, что ComeDate - это поле типа Date. Я изменил вашу команду выбора, чтобы включить параметры. Определение типа данных в методе .Add должно решить вашу проблему с конвертацией. Я должен был угадать тип данных. Проверьте тип данных в вашей базе данных. Затем передайте команду, которая включает соединение, конструктору DataAdapter.

Private Sub OpCode()
    Dim dt As New DataTable
    Using cn As New SqlConnection("Your connection string"),
            cmd As New SqlCommand("Select * From UserComeView Where ComeUserFullName = @FullName And ComeDate Between @Date1 And @Date2;", cn)
        cmd.Parameters.Add("@FullName", SqlDbType.NVarChar, 200).Value = cmb_user.SelectedValue
        cmd.Parameters.Add("@Date1", SqlDbType.Date).Value = Date1.Value
        cmd.Parameters.Add("@Date2", SqlDbType.Date).Value = Date2.Value
        Using da As New SqlDataAdapter(cmd)
            da.Fill(dt)
        End Using
    End Using
    DataGridView1.DataSource = dt
End Sub
...