Вы используете "TextBox4.Text"
и "TextBox5.Text"
буквально в запросе.Это не будет передавать значения textboxes
в запрос.Так что это приведет к ошибке.
Также вам нужно использовать параметризованный запрос, чтобы избежать синтаксических ошибок.Также я не уверен, почему вы используете функцию strftime
.Эта функция используется только для форматирования.
Следуя коду, который я переписал, используя подход с параметризованным запросом.
Dim Yol As String = "Data Source=database1.s3db;version=3;new=False"
Using MyConn As New SQLiteConnection(Yol)
If (MyConn.State = ConnectionState.Closed) Then
MyConn.Open()
End If
Dim Sorgu As String = "select * from mytable where tarih between @startDate and @endDate "
Using MyCmd As New SQLiteCommand(Sorgu, MyConn)
Dim startDate as new SQLiteParameter("@startDate")
startDate.Value = DateTimePicker2.Value
Dim endDate as new SQLiteParameter("@endDate")
endDate.Value = DateTimePicker3.Value
MyCmd.Parameters.Add(startDate)
MyCmd.Parameters.Add(endDate)
Dim Da As New SQLiteDataAdapter(MyCmd)
Dim Ds As New DataSet
Dim Dt As New DataTable
Ds.Reset()
Da.Fill(Ds)
Dt = Ds.Tables(0)
Dim Bs As New BindingSource With {.DataSource = Dt}
DataGridView1.DataSource = Bs
Bs.MoveLast()
MyConn.Close()
MyCmd.Dispose()
MyConn.Dispose()
End Using
End Using
Это должно помочь вам решить вашу проблему.