2012-12-30 5 views
0

i utiliser VB.NET sur Visual Studio 2008syntaxe incorrecte près du mot-clé « et »

Erreur: syntaxe incorrecte près du mot clé « et ».

Code.

sb.Remove(0, sb.Length()) 
    sb.Append("SELECT tf.*") 
    sb.Append(" FROM filesTA tf") 
    sb.Append(" WHERE tf.ChkDate = '" & dateTimePicker.Value.ToString("yyyy-MM-dd") & "'") 
    Dim SqlLR As String = sb.ToString() 
    da.SelectCommand.CommandText = SqlLR 
    da.Fill(ds, "filesTA9") 

    If ds.Tables("filesTA9").Rows.Count = 0 Then 
     sb.Remove(0, sb.Length()) 
     sb.Append("INSERT INTO filesTA (EmpNo,ChkDate,LastUpdate) ") 
     sb.Append("SELECT tft.EmpNo,tft.ChkDate,tft.LastUpdate ") 
     sb.Append("FROM TA_FillTime tft ") 
     sb.Append("WHERE Convert(nvarchar(10),tft.ChkDate,126) Between DATEADD(Day , -1, '" & dateTimePicker.Value.ToString("yyyy-MM-dd") & "' and '" & dateTimePicker.Value.ToString("yyyy-MM-dd") & "'") 
     sb.Append(" Order By tft.ChkDate ") 

     Dim SqlLR2 As String = sb.ToString() 
     da.SelectCommand.CommandText = SqlLR2 
     da.Fill(ds, "filesTA9") => **Error this line: Incorrect syntax near the keyword 'and'.** 
     'label1.Text = "Insert Done" 
    ElseIf ds.Tables("filesTA9").Rows.Count > 0 Then 
     'label1.Text = "Insert New Done" 
    Else 
     'label1.Text = "Insert Done..." 
    End If 

Merci pour votre temps. :)

+0

C'est une erreur dans votre SQL. Utilisez le débogueur pour lire la commande réelle. – SLaks

Répondre

1

Vous avez oublié un support:

..snip.. Between DATEADD(Day , -1, '" & dateTimePicker.Value.ToString("yyyy-MM-dd") & ")' and ...snip ... 
    scroll over here--->                 ^---here 

qui vous a laissé avec un appel de fonction DATEADD() non terminée. Publier le code pour générer une requête sql n'est généralement pas aussi utile que l'affichage de la requête que vous avez générée. Les erreurs de syntaxe SQL peuvent être assez difficiles à repérer sans avoir à extraire la requête de quelques tonnes de "fluff" inutile autour d'eux.

+0

merci beaucoup! je suis vraiment oublié un support = _ = – nettoon493