1

こんにちは、私はこのコードを持っていますが、エラーが発生します:

値の型が列の型と一致しません <10/1/2012 3:43:30 PM> を time_in_am 列に格納できませんでした。予想される型は MySqlDateTime です。

「time_in_am」の mySQL データ型は DateTime です。

dataRow = dataSet.Tables(0).NewRow()
dataRow("time_in_am") = DateTime.Now
dataSet.Tables(0).Rows.Add(dataRow)
4

4 に答える 4

1

MySQL で受け入れられている DateTime 形式はyyyy-mm-dd hh:mm:ss

したがって、コードの 2 行目を次のように変更します。

dataRow("time_in_am") = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")

「魔法の文字列」の各形式の意味については、こちらを参照してください

これを頻繁に使用していることに気付いた場合 (おそらく)、拡張機能を作成できます。

Imports System.Runtime.CompilerServices

Public Module MyExtensions

    <Extension()>
    Public Function ToMySql(d As Date) As String
        Return d.ToString("yyyy-MM-dd HH:mm:ss")
    End Function

End Module

これで、次のようにコードでこれを使用できます。

dataRow("time_in_am") = DateTime.Now.ToMySql()
于 2012-10-01T11:21:16.177 に答える
0
Return d.toString("yyyy-MM-dd HH:mm:ss")

それを解決します.. :)

于 2012-10-02T05:49:13.793 に答える
-1

このvb6日付変換をmysqlの受け入れ値に変換してvb.netにする方法を探していました。

'日付をmysql形式に変換

Public Function convToYMD(strDate)

strYear = CStr(Year(strDate))
strmonth = CStr(Month(strDate))
strday = CStr(Day(strDate))
strhour = CStr(Hour(strDate))
strminute = CStr(Minute(strDate))
strsecond = CStr(Second(strDate))

If Len(strhour) = 1 Then
    strhour = "0" & strhour
ElseIf Len(strhour) = 0 Then
    strhour = "00"
End If

If Len(strminute) = 1 Then
    strminute = "0" & strminute
ElseIf Len(strminute) = 0 Then
    strminute = "00"
End If

If Len(strsecond) = 1 Then
    strsecond = "0" & strsecond
ElseIf Len(strsecond) = 0 Then
    strsecond = "00"
End If

If Len(strday) = 1 Then
    strday = "0" + strday
ElseIf Len(strday) = 0 Then
    strday = "00"
End If

If Len(strmonth) = 1 Then
    strmonth = "0" & strmonth
ElseIf Len(strmonth) = 0 Then
    strmonth = "00"
End If

convToYMD = strYear + "-" + strmonth + "-" + strday + " " + strhour + ":" + strminute + ":" + strsecond

end function

このコードを見つけて、私の問題を解決しました! モジュール内に追加しました

 If DateFormat.ShortDate Then
         Return d.ToString("yyyy-MM-dd")
    ElseIf DateFormat.LongDate Then
         Return d.ToString("yyyy-MM-dd HH:mm:ss")
    End If

大変感謝します!

于 2013-12-09T03:56:05.997 に答える