[.NET] SQL anweisung um datum zu suchen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von XxXRecklessXxX, 14. August 2007 .

Schlagworte:
  1. 14. August 2007
    SQL anweisung um datum zu suchen

    hi leute

    ich schreibe gerade ein programm für geburtstage und haben folgendes problem:
    ich will aus einer datenbank (access) beim formload auslesen welche menschen in den nächsten zB.: 30 tagen geb haben

    nur stimmt meine sql anweisung irgendwie nicht
    kann mir wer helfen?

    Code:
     Dim maxTag As Date = Date.Today.AddDays(+intGebSuche)
     Dim minTag As Date = Date.Today
    
     '*****SQL STATEMENT*****
     Dim sqlStatement As String = "select Vorname, Nachname, Geburtsdatum from Geburtstage where Geburtsdatum > '" & minTag & "' AND where Geburtsdatum < '" & maxTag & "'"
    
    danke
     
  2. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    sry is wohl zu lang
    hier nichmal mit zeilenumbrüchen

    Code:
     Dim maxTag As Date = Date.Today.AddDays(+intGebSuche)
     Dim minTag As Date = Date.Today
    
     '*****SQL STATEMENT*****
     Dim sqlStatement As String = "select Vorname, Nachname, Geburtsdatum 
    from Geburtstage 
    where Geburtsdatum > '" & minTag & "' AND where Geburtsdatum < '" & maxTag & "'"
    
    PS: die variable intGebSuche ist eine Zahl die aus einer textbox eingegeben werden kann (voreingestellt liegt sie bei 30tage)
     
  3. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    Hi,

    also zunächst muss meiner Meinung nach das zweite where im SQL Statement weg.
    Code:
    where Geburtsdatum > '" & minTag & "' AND [S]where[/S] Geburtsdatum < '" & maxTag & "'"
    Dann solltest du auch schauen, ob die Formate übereinstimmen, also ob dein String das selbe Format hat wie das Datum in der DB.

    Vieleicht hat das schon geholfen, ansonsten fällt vieleicht anderen noch was auf

    Viel Erfolg

    Mfg
    Sinus2K
     
  4. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    ne geht noch immer nicht

    hab noch ne zweite frage ..
    wie mach i ein delete?


    DELETE
    Code:
     Dim strConn As String
    
     '*****SQL STATEMENT*****
     Dim sqlStatement As String = "DELETE * FROM Geburtstage WHERE ID = '" & intID & "'"
    
     Dim dbConn As OleDb.OleDbConnection
     Dim dbCmd As OleDb.OleDbCommand
    
     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=C:\Dokumente und Einstellungen\graf\Eigene Dateien\T_GebListe.mdb;"
     dbConn = New OleDb.OleDbConnection(strConn)
     dbConn.Open()
    
     dbCmd = New OleDb.OleDbCommand(sqlStatement, dbConn)
     dbCmd.ExecuteNonQuery()
     dbConn.Close()
    
     
  5. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    ich kann zwar kein .NET (vb?)
    aber SQL kann ich
    delete
    Code:
    DELETE FROM tabelle WHERE irgendwas = 1
    select
    Code:
    SELECT * FROM tabelle WHERE irgendwas = 1 AND das = 'das' OR jenes = 'jenes'
     
  6. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    hatte beim delete nur die anführungszeichen falsch .. es heißt
    Code:
     WHERE ID = " & strID & "" 
    aber das andere geht nocht nicht
     
  7. 14. August 2007
    AW: SQL anweisung um datum zu suchen

    Muss in SQL, bei einem Datumsvergleich, das Datum nicht zwischen #? Also "#20.10.08#"? Probier das mal aus...

    mfg r90
     
  8. 16. August 2007
    AW: SQL anweisung um datum zu suchen

    geht immer noch nicht .. HILFE
     
  9. 16. August 2007
    AW: SQL anweisung um datum zu suchen

    Hey XxXRecklessXxX,

    um SQL-Injection zu vermeiden, und um typsicher zu arbeiten, solltest Du nach Möglichkeit mit den von .Net gegebenen Klassen arbeiten. Ich habe Dir mal eben eine Beispielklasse gebaut, mit der es recht einfach ein sollte, Statements gegen eine DB zu feuern.

    Bei Fragen schick bitte ne PN.

    Code:
    Imports System.Data.SqlClient
    
    Public Class Class1
    
     Private m_connection As SqlConnection
     Private m_command As SqlCommand
     Private m_reader As SqlDataReader
    
     Sub New()
     Me.New(String.Empty)
     End Sub
     Sub New(ByVal statement As String)
    
     m_connection = New SqlConnection
     m_command = New SqlCommand
    
     m_command.Connection = m_connection
    
     If statement <> String.Empty Then
     Me.FireStatement(statement)
     End If
     End Sub
    
     Private Sub FireStatement(ByVal statement As String)
    
     Try
    
     ' Add parameters, for example a date
     Me.m_command.CommandText = String.Concat(Me.m_command.CommandText, _
     " WHERE myDateColumn > @myDate")
     Me.m_command.Parameters.Add("@myDate", Date.Now)
    
     Me.m_command.CommandText = statement
     m_reader = m_command.ExecuteReader
     If m_reader.HasRows Then
     While m_reader.Read
     ' Access values with m_reader.Item(i)
     ' For example:
     Debug.WriteLine(m_reader.Item(0))
     End While
     End If
     Catch ex As Exception
     MessageBox.Show(ex.ToString, "An unhandled error occured", MessageBoxButtons.OK, MessageBoxIcon.Error)
     Throw ex
     Catch
     Throw
     Finally
     m_connection.Close()
     End Try
    
     End Sub
    
    End Class
    //Edit: PS: Der Code ist nicht getestet, hab ich keine Zeit mehr zu.

    Viel Erfolg.

    BG MaxDev
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.