Avatar billede celinder Nybegynder
01. august 2005 - 21:57 Der er 5 kommentarer og
1 løsning

date /SQl problem

hvordan gøres følgende ??


selct bla bla bla where postings.date > f.eks 1/1-2005 ??

postings.date er et date felt i sql
Avatar billede celinder Nybegynder
01. august 2005 - 21:57 #1
sorry postings.date er et datetime felt i basen
Avatar billede arne_v Ekspert
01. august 2005 - 22:07 #2
du gør det bare med >

eneste problem er at finde det rigtige format for den dato

jeg har sagt det før - den rigtige løsning er parameters
Avatar billede arne_v Ekspert
01. august 2005 - 22:09 #3
mit standard eksempel (ikke en ASP.NET side men database kaldet er det samme):

Imports System
Imports System.Threading
Imports System.Data
Imports System.Data.SqlClient

Class MainClass
    Public Shared Sub Main(ByVal args As String())
        Dim con As SqlConnection = New SqlConnection("server=ARNEPC3;Integrated Security=SSPI;database=Test")
        con.Open
        Dim cre As SqlCommand = New SqlCommand("CREATE TABLE dtest (i INTEGER PRIMARY KEY, d DATETIME)", con)
        cre.ExecuteNonQuery
        Dim ins As SqlCommand = New SqlCommand("INSERT INTO dtest VALUES (@i, @d)", con)
        ins.Parameters.Add("@i", SqlDbType.Int)
        ins.Parameters.Add("@d", SqlDbType.DateTime)
        Dim i As Integer
        For i = 0 To 9
            ins.Parameters("@i").Value = i
            ins.Parameters("@d").Value = DateTime.Now
            ins.ExecuteNonQuery
            Thread.Sleep(1000)
        Next
        Console.WriteLine("All rows :")
        Dim sel As SqlCommand = New SqlCommand("SELECT * FROM dtest", con)
        Dim rdr As SqlDataReader = sel.ExecuteReader
        While rdr.Read
            Dim iv As Integer = CType(rdr(0), Integer)
            Dim dv As DateTime = CType(rdr(1), DateTime)
            Console.WriteLine(iv & " " & dv)
        End While
        rdr.Close
        Console.WriteLine("Rows last 5 seconds since " + DateTime.Now + " :")
        Dim sel2 As SqlCommand = New SqlCommand("SELECT * FROM dtest WHERE d > @d", con)
        sel2.Parameters.Add("@d", SqlDbType.DateTime)
        sel2.Parameters("@d").Value = DateTime.Now.AddSeconds(-5)
        Dim rdr2 As SqlDataReader = sel2.ExecuteReader
        While rdr2.Read
            Dim iv As Integer = CType(rdr2(0), Integer)
            Dim dv As DateTime = CType(rdr2(1), DateTime)
            Console.WriteLine(iv & " " & dv)
        End While
        rdr2.Close
        Dim drp As SqlCommand = New SqlCommand("DROP TABLE dtest", con)
        drp.ExecuteNonQuery
        con.Close
    End Sub
End Class
Avatar billede arne_v Ekspert
01. august 2005 - 22:09 #4
den specielt relevante part er:

        Dim sel2 As SqlCommand = New SqlCommand("SELECT * FROM dtest WHERE d > @d", con)
        sel2.Parameters.Add("@d", SqlDbType.DateTime)
        sel2.Parameters("@d").Value = DateTime.Now.AddSeconds(-5)
Avatar billede celinder Nybegynder
01. august 2005 - 23:07 #5
yeps, glemte det kommer du med svar
Avatar billede arne_v Ekspert
01. august 2005 - 23:09 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester