Страница: 1 |
Страница: 1 |
Вопрос: DD.MM.YYYY HH:MM:SS.msc как сохранить в SQL
Добавлено: 26.08.06 14:39
Автор вопроса: student-uni
Дано
Dim myDat As DateTime = Now
Надо сохранить в MS-SQL как DD.MM.YYYY HH:MM:SS.msc
MSSQL понимает
" INSERT INTO myTab (myField) VALUES ( CONVERT(VARCHAR, '20060826 09:50:53.000', 13 ) ) "
то есть строку '20060826 09:50:53.000'
а в myDat есть дата типа #26/08/2006 09:50:53#
Вопрос:
как же преобразовать в строку ?
или
как записать дату в базу ?
Внизу моё решение, оно лобовое
Буду признателен если кто предложит что по проще
Спасибо
Dim myDat As DateTime = Now
Dim strDat As String = myDat.Year.ToString
Dim strMon As String = myDat.Month.ToString
Dim strDay As String = myDat.Day.ToString
Dim strHou As String = myDat.Hour.ToString
Dim strMin As String = myDat.Minute.ToString
Dim strSec As String = myDat.Second.ToString
Dim strMsec As String = myDat.Millisecond.ToString
If strMon.Length = 1 Then
strMon = "0" + strMon
End If
If strDay.Length = 1 Then
strDay = "0" + strDay
End If
Select Case strHou.Length
Case 0
strHou = "00"
Case 1
strHou = "0" + strHou
Case 2
End Select
Select Case strMin.Length
Case 0
strMin = "00"
Case 1
strMin = "0" + strMin
Case 2
End Select
Select Case strSec.Length
Case 0
strSec = "00"
Case 1
strSec = "0" + strSec
Case 2
End Select
Select Case strMsec.Length
Case 0
strMsec = "000"
Case 1
strMsec = "00" + strMsec
Case 2
strMsec = "0" + strMsec
End Select
Dim strData As String = ""
strData = strDat + strMon + strDay + " " + strHou + ":" + strMin + ":" + strSec + "." + strMsec
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 26.08.06 18:23
В MS SQL есть тип для даты datetime, почему не сохранять в него?
Если используешь DateTime, то дату проще всего вставить через параметры, никаких зависимостей от форматов представляения даты в дотнете и сиквеле.
Номер ответа: 2
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #2
Добавлено: 26.08.06 19:55
А как это делается ?
Не так :
" INSERT INTO myTab (myField) VALUES ( CONVERT(VARCHAR, '20060826 09:50:53.000', 13 ) ) "
Если используешь DateTime, то дату проще всего вставить через параметры, никаких зависимостей от форматов представляения даты в дотнете и сиквеле.
Параметры не получается
я использую интерфейсы IDBCONNECT, IDBCOMMAND итд
и в завсти от избранной при инсталляции базы
они подключают либо OLEDB либо SQL
Описать параметр через интерфейс не получается
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 27.08.06 13:31
"INSERT INTO myTab(myField) VALUES(DateValue(" & Now & ")"
Номер ответа: 4
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #4
Добавлено: 27.08.06 15:20
"INSERT INTO myTab(myField) VALUES(DateValue(" & myDat & ")"
Не - а !
Incorrect syntax near .2006
Dim myDat As DateTime = Now
"INSERT INTO Monitoring (StartTime) VALUES(DateValue(27.08.2006 13:12:52))"
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 27.08.06 18:18
См про тип полей в БД более подробно, должен быть тип который в определённое поле при инсерте автоматически записывает текущее время.
Номер ответа: 6
Автор ответа:
SHDZ
ICQ: 209382104
Вопросов: 39
Ответов: 244
Профиль | | #6
Добавлено: 30.08.06 15:45
ну не совсем тип полей а значение по умолчанию