Как присвоить нулевые значения в MySql с помощью VB.NET

Я не уверен, почему VB делает все такой болью. У меня есть поля, который хранит дату и время в формате, требуемом сохранить в базе данных MySQL

 Dim AppDate As String = String.Empty
      If Not String.IsNullOrEmpty(Me.AppDate.Text.Trim) Then
         AppDate = Format(CDate(Me.AppDate.Text), "yyyy-MM-dd h:mm:ss")
      Else
        //Need to assign a null value to AppDate 
      End If

Теперь я должен присвоить AppDate Пустому указателю как DBNull, но я не могу сделать это непосредственно. Если я изменяю AppDate до настоящего времени затем, я не получаю требуемый формат.

Любая справка ценится.

Заранее спасибо.

13
задан Mojtaba Rezaeian 8 February 2016 в 12:02
поделиться

5 ответов

AppDate = Ничего не должно работать, вы также можете использовать DateTime.MinValue и обновить свою бизнес-логику, чтобы обрабатывать ее соответствующим образом.

10
ответ дан 1 December 2019 в 22:06
поделиться

AppDate = Nothing

{{1} }
9
ответ дан 1 December 2019 в 22:06
поделиться
AppDate = DbNull.Value 'does this work?
0
ответ дан 1 December 2019 в 22:06
поделиться

дата и время в формате, необходимом для хранения в базе данных MySQL

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

Используя MySql Connector/Net, вы должны строить свой запрос следующим образом:

Dim sql As String = "UPDATE `MyTable` SET `MyField` = @MyField WHERE `ID` = @MyID"
Using cn As New MySqlconnection("..your connection string here.."), _
      cmd As New SqlCommand(sql, cn)

    cmd.Parameters.Add("@MyField", MySqlDbType.DateTime).Value = MyDateTimeVar ''# NO FORMATTING NEEDED!
    cmd.Parameters.Add("@MyID", MySqlDbType.Int).Value = MyIDIntegerVar

    cn.Open()
    cmd.ExecuteNonQuery()
End Using
4
ответ дан 1 December 2019 в 22:06
поделиться

Строковое значение, возвращаемое методом DbNull.ToString(), является пустой строкой (""), что может означать, что строковое представление DbNull является пустой строкой.

0
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: