DD.MM.YYYY HH:MM:SS.msc как сохранить в SQL

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

DD.MM.YYYY HH:MM:SS.msc как сохранить в SQL

Сообщение student-uni » 26.08.2006 (Сб) 13:42

Дано

Код: Выделить всё
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


kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 26.08.2006 (Сб) 19:38

c лету не помню..
но в сиквеле есть специальный тип данных...
не устраивает?

Dim f As SqlTypes.SqlDateTime
Max

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 27.08.2006 (Вс) 13:56

Нет не устраивает :lol:

Прога должна работать как с Сиквелом так и с аксессом
так и с МайЄскюель и др и пр.

(Выбор БД идёт при инсталляции.)

Мне нужна универсальная переменная.
:lol:


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 100

    TopList