Вставьте дд / мм / гггг чч: мм: сс.000 в дату и время в SQL Server - PullRequest
0 голосов
/ 03 мая 2019

У меня есть временная метка в Excel в формате d/m/yyy hh:mm:ss.000, и я отправляю ее в тип данных datetime в SQL Server.Но когда я передаю данные, они были переданы правильно, но без миллисекунд у всех данных есть .000 в конце.В Excel у меня есть дата с правильными миллисекундами.У кого-нибудь есть решение?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Вы можете получить текст ячейки и отформатировать перед вставкой в ​​db:

Dim strValue as String
strValue=shtSheetToWork.Cells(RowCounter, 13).Text

снова отформатируйте strValue перед вставкой в ​​db rs(0), если это тип datetime.

0 голосов
/ 03 мая 2019
Sub Sectie1Invert()

Dim Cn As ADODB.Connection
Dim ServerName As String
Dim DatabaseName As String
Dim TableName As String
Dim UserID As String
Dim Password As String
Dim rs As ADODB.Recordset
Dim rs1 As ADODB.Recordset
Dim RowCounter As Long
Dim NoOfFields As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim ColCounter As Integer
Dim trigger As Boolean

Set rs = New ADODB.Recordset

ServerName = "NLDONL0113" ' Enter your server name here
DatabaseName = "Stroomwaarden" ' Enter your  database name here
TableName1I = "Sectie1invert" ' Enter your Table name here
 UserID = "" ' Enter your user ID here
Password = "" ' Enter your password here
NoOfFields = 1 ' Enter number of fields to update (eg. columns in your worksheet)
StartRow = 3 ' Enter row in sheet to start reading  records
EndRow = 349 ' Enter row of last record in sheet

Dim shtSheetToWork As Worksheet
Set shtSheetToWork = ActiveWorkbook.Worksheets("Sheet1")
 '********

Set Cn = New ADODB.Connection
Cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & DatabaseName & _
";Uid=" & UserID & ";Pwd=" & Password & ";"
rs.Open TableName1I, Cn, adOpenKeyset, adLockOptimistic

For RowCounter = StartRow To EndRow
   rs.AddNew
    'On Error Resume Next

     rs(0) = shtSheetToWork.Cells(RowCounter, 13)
    rs(3) = shtSheetToWork.Cells(RowCounter, 14)

    Debug.Print RowCounter
Next RowCounter

    rs.UpdateBatch
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...