Я искал максимум и минимум безрезультатно, и это последний шаг перед завершением моего проекта, поэтому, пожалуйста, помогите!Заранее спасибо!
Пользователь выберет запись в виде сетки, которая затем перенаправит их в форму, заполненную данными из выбранной строки (таким образом, делая вид сетки редактируемым более удобным для пользователя способом),Нулевые значения принимаются БД, и я хотел бы показывать пустые значения даты как пустые (или "") в соответствующих текстовых полях.Вместо этого я получаю ошибку:
Преобразование из типа 'DBNull' в тип 'Дата' недопустимо.
Вот мой код:
'preceded by connection code
Dim sqlcmd As String = "SELECT * from Master WHERE RecNum = @recnum"
'Dim sqlCmd As New OleDb.OleDbCommand("SELECT * from Master WHERE RecNum = @recnum", connection)
Dim FileCommand3 As New OleDb.OleDbCommand(sqlcmd, connection)
FileCommand3.Parameters.AddWithValue("@recnum", user)
Dim Reader3 As OleDb.OleDbDataReader = FileCommand3.ExecuteReader()
If Reader3.Read Then
stock = myCStr(Reader3("StockNum"))
make = myCStr(Reader3("Make"))
color = myCStr(Reader3("Color"))
stockin = myCStr(Reader3("Stockin"))
ucistart = myCStr(Reader3("UCIStartDate"))
repairs = Reader3("Repairs")
tires = Reader3("tiresneeded")
onlot = Reader3("onlot")
sold = Reader3("sold")
year = myCStr(Reader3("year"))
model = myCStr(Reader3("model"))
location = Reader3("location")
srvcRO = myCStr(Reader3("svcROnum"))
ucicompldate = myCStr(Reader3("uciestcompletedate"))
collRO = myCStr(Reader3("collisionROnum"))
other = myCStr(Reader3("other"))
offprop = Reader3("offProperty")
detail = (Reader3("detail")
End If
connection.Close()
SoldCheckBX.Checked = sold
DetailTXTbox.Text = detail
'etc, etc
End Sub
Я использовал функцию mycstr, чтобы исправить ошибку dbnull to string, но адаптировать ее к типу данных «дата» не так просто
Function myCStr(ByVal test As Object) As String
If isdbnull(test) Then
Return ("")
Else
Return CStr(test)
End If
End Function