moodyCoder Ответов: 2

Нет значения для одного или нескольких обязательных параметров.


Привет Ребята,

У меня проблемы с фильтрацией дат...

Я получил сообщение об ошибке:
OleDbException не обработано
Нет значения для одного или нескольких обязательных параметров.

Ниже приведены мои коды:

'declare the needed variables
          Dim idCon As New OleDbConnection
          Dim idSQL As String
          Dim idSet As New DataSet

          'start the connection
          idCon.ConnectionString = "PROVIDER = Microsoft.Jet.OleDb.4.0; data source = Library2.mdb; Jet OLEDB:Database Password = 3Musketeers"
          idSQL = "SELECT * FROM Newtransaction"
          'declare and assign a value to a dataadapter
          Dim idAdapt As New OleDbDataAdapter(idSQL, idCon)
          'open the connection

          Dim mytable As DataTable = New DataTable()

          idCon.Open()
          'fill data to datable
          idAdapt.Fill(idSet, "suckz")

          dGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
          'setting columnheadername
          idSet.Tables("suckz").Columns(0).ColumnName = "T CODE"
          idSet.Tables("suckz").Columns(1).ColumnName = "BOOK CODE"
          idSet.Tables("suckz").Columns(2).ColumnName = "MEMBER CODE"
          idSet.Tables("suckz").Columns(3).ColumnName = "ISSUED_DATE"
          idSet.Tables("suckz").Columns(4).ColumnName = "RETURNED DATE"
          idSet.Tables("suckz").Columns(5).ColumnName = "COMMENTS"
          idSet.Tables("suckz").Columns(6).ColumnName = "PENALTY"

          BindingSource1.DataSource = idSet.Tables("suckz")

          BindingSource1.Filter = String.Format("ISSUED_DATE LIKE '{0}%'", txtSearch.Text)

          dGrid.DataSource = BindingSource1
          dGrid.Update()
          dGrid.Refresh()
          idCon.Close()



надеюсь, кто - нибудь сможет мне здесь помочь


заранее спасибо

Привет Ребята,

Спасибо Вам за ваш ответ, ребята. Однако на самом деле проблема не в этом. В приведенных выше кодах я забыл удалить "where isDate" в моем SQL, который я использовал, когда пробовал образец. Вот оригинальный SQL idSQL = "SELECT * FROM Newtransaction" Кстати, эти коды вставляются в TextChange текстового поля txtSearch. Это происходит потому, что я хочу отфильтровать записи по дате выпуска. Надеюсь, кто-нибудь сможет дать мне ответ. Спасибо!

tanweer

пожалуйста, исправьте это
idSQL = "SELECT * FROM Newtransaction where isDate "
к
idSQL = "SELECT * FROM Newtransaction where isDate ='SOME DATE'"

Ed Nutting

Хороший ответ, но я не могу поднять голос :( мой виртуальный 5+ тогда :)
Эд

moodyCoder

Спасибо Вам за ваш ответ, ребята. Однако на самом деле проблема не в этом. В приведенных выше кодах я забыл удалить "where isDate" в моем SQL, который я использовал, когда пробовал образец. Вот оригинальный SQL

idSQL = "SELECT * FROM Newtransaction"

Кстати, эти коды вставляются в TextChange текстового поля txtSearch. Это происходит потому, что я хочу отфильтровать записи по дате выпуска.

Надеюсь, кто-нибудь сможет дать мне ответ. Спасибо!

2 Ответов

Рейтинг:
2

Jαved

Привет,
пожалуйста, исправьте строку-

idSQL = "SELECT * FROM Newtransaction where isDate "
к
idSQL = "SELECT * FROM Newtransaction where isDate ='DATE'"

Или используйте следующее-
idSQL = "SELECT * FROM Newtransaction"


moodyCoder

Спасибо Вам за ваш ответ, ребята. Однако на самом деле проблема не в этом. В приведенных выше кодах я забыл удалить "where isDate" в моем SQL, который я использовал, когда пробовал образец. Вот оригинальный SQL idSQL = "SELECT * FROM Newtransaction" кстати, эти коды вставляются в TextChange текстового поля txtSearch. Это происходит потому, что я хочу отфильтровать записи по дате выпуска. Надеюсь, кто-нибудь сможет дать мне ответ. Спасибо!

Sinisa Hajnal

Это не решение проблемы. Джавед, ты должен удалить это, тем более что ты написал это через пять часов после комментариев, говорящих то же самое.

Рейтинг:
0

Maciej Los

Чтобы извлечь данные из базы данных MS Access, используйте следующую команду sql:

SELECT *
FROM Newtransaction
WHERE [DateField] = #2012/06/01#


SELECT *
FROM Newtransaction
WHERE [DateField] BETWEEN #2012/05/01# AND  #2012/05/31#


Вспомни! Формат даты зависит от региональных настроек вашей системы (даты)!

Подробнее на сайте:
http://www.techrepublic.com/article/10-tips-for-working-with-dates-in-microsoft-access/6135056[^]
http://stackoverflow.com/questions/10232187/query-to-retrieve-data-of-specific-date-in-msaccess[^]


VJ Reddy

Хороший ответ.5!

Maciej Los

Спасибо, ви-джей ;)