sv sathish Ответов: 4

Как получить данные в промежутке между двумя датами в vb.net


я использую систему управления отчетами я хочу показать данные между датами у меня есть код но он не работает пожалуйста помогите мне


мой код::

con = New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=D:\Programs\sathish\invoicedb.mdb")
       con.Open()
       ' cmd2 = New OleDbCommand("select InvoiceId,ClientName,TotalAmount,AmountPaid,BalanceAmount from invoice where invoicedate between '" & DateTimePicker1.Value.ToString("dd-MM-yyyy") & "' and '" & DateTimePicker2.Value.ToString("dd-MM-yyyy") & "'", con)
       cmd2 = New OleDbCommand("SELECT * FROM invoice WHERE invoicedate >= ''" & DateTimePicker1.Text & "'' AND invoicedate <= ''" & DateTimePicker2.Text & "''")
       cmd2.ExecuteNonQuery()
       adp = New OleDbDataAdapter(cmd2)
       ds.Clear()
       adp.Fill(ds, "invoice")
       DataGridView1.DataSource = ds.Tables("invoice")

[no name]

Итак, вы хотите, чтобы мы помогли вам исправить ваш код, но вы не показываете нам свой код. Мы что, должны догадываться? И что значит "это не работает"?

4 Ответов

Рейтинг:
12

sv sathish

Мой код находится ниже::

кон = новый объект oledbconnection("поставщик=Майкрософт.джет.oledb для.4.0;Источник данных=Д:\программы\sathish\invoicedb.МБР")
против.Открыть()
Тусклый qry как строка
qry = "select *from invoice where invoicedate between" & DateTimePicker1.Value.Date.ToOADate() & " and " & DateTimePicker2.Value.Date.В описании метода tooadate () и усилитель; ""
cmd = New OleDbCommand(qry, con)
ДС.Понятно()
adp = новый OleDbDataAdapter(cmd)
adp.Fill(ds, "счет-фактура")
DataGridView1.DataSource = ds.Tables("счет-фактура")


Рейтинг:
1

chimcham

cmd.Parameters.Add ("@Date1", SqlDbType.DateTime).Value = DateTimePicker1.Value;
cmd.Parameters.Add ("@Date2", SqlDbType.DateTime).Value = DateTimePicker2.Value;

SELECT *
FROM invoice
WHERE invoicedate >= @Date1 AND invoicedate < @Date2


Рейтинг:
1

kesav prakash

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;



Попробовать это:

SELECT * FROM invoice WHERE invoicedate BETWEEN ''" & DateTimePicker1.Text & "'' AND ''" & DateTimePicker2.Text & "''


sv sathish

Спасибо за ваш ответ, но извините, что он не работает

Рейтинг:
0

ridoy

Попробуй что-нибудь вроде этого..

sql = "SELECT * FROM My_Table WHERE [My_Date] BETWEEN #" & Start_date & "# And #" & End_Date & "#"

Следите за правильным форматированием даты. Вы не можете полагаться на неявные преобразования, совместимые с доступом, используя оператор &. Итак, если Start_date имеет тип Date, используйте Дата начала.Метод toString("ММ\ДД\гггг") для форматирования. То же самое и с End_Date.
Также видеть..
http://stackoverflow.com/questions/1858277/error-in-getting-dates-in-database-between-clause-vb-netole[^]


sv sathish

я использую oledb сэр

ridoy

см. обновленный ответ.