bonjour à tous, jai un problème qui m'enpêche d'avancer...En fait j'ai une base de données sous sql server2000 dont je vous donne un extrait de la structure(qui nous interesse).

RESERVATION(NUMERORES,IDTYPERES,IDSTATUT,MATRICULEEMPLOYE,
DATEDEMANDE,DATEDEB,DATEFIN,HEUREDEB,HEUREFIN)

MATERIEL(CODEMAT,NUMEROSERIEMAT,LIBELLEMAT)

PORTER(NUMERORES,CODEMAT)

Les champs "DATEDEB" et "DATEFIN" sont de type string

Mon objectif est d'arriver à faire une recherche pour afficher les matériels disponibles à une période donnée.Pour cela jai fait un formulaire avec 2 textbox (tb_datedeb1 et tb_datefin1). Lorsqu' on fait une reservation les tables "reservation" et "porter" sont renseignés... Mon problème est que lorsque j'exécute il affiche meme les matériels qui sont réservés à la période choisé dans le formulaire. Voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Protected Sub bt_rechercher_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bt_rechercher.Click
 
        Dim oConnection As System.Data.SqlClient.SqlConnection
        Dim oCommand As System.Data.SqlClient.SqlCommand
        Dim oDataReader As System.Data.SqlClient.SqlDataReader
        Dim sSQL As String
 
        oConnection = New System.Data.SqlClient.SqlConnection
        oConnection.ConnectionString = "Server=(local); Initial Catalog='GESSALLE';" & " Trusted_Connection=True;"
 
        oConnection.Open()
 
        sSQL = "SELECT DISTINCT m.LIBELLEMAT FROM MATERIEL m, PORTER p, RESERVATION r WHERE p.NUMERORES=r.NUMERORES AND p.CODEMAT=m.CODEMAT OR m.CODEMAT NOT IN (SELECT CODEMAT FROM PORTER) AND (r.DATEDEB NOT BETWEEN '" & tb_datedeb1.Text & "' and '" & tb_datefin1.Text & "') AND (r.DATEFIN NOT BETWEEN '" & tb_datedeb1.Text & "' and '" & tb_datefin1.Text & "')"
 
        oCommand = New System.Data.SqlClient.SqlCommand(sSQL, oConnection)
 
        oDataReader = oCommand.ExecuteReader()
 
        DTG_RESULT1.DataSource = oDataReader
        DTG_RESULT1.DataBind()
 
        oDataReader.Close()
        oConnection.Close()
 
    End Sub
svp aidez moi
NB: je développe avec vs.net 2005 et jai crée un data grid DTG_RESULT1 pour l'affichage des données