2010-02-18 4 views
0

Utilisation de SQL Server 2005, VB.NetMise à jour de la table avec le problème conditon

Dans ma demande je utilise 3 textbox

Textbox1.text = Date 
Textbox2.text = TimeIn 
Textbox3.text = TimeOut 

Je veux mettre à jour ma table en utilisant la valeur textbox avec condtion

Par exemple

Textbox1.text = 23/02/2009 
Textbox2.text = 10:00 - HH:mm 
Textbox3.text = 18:00 

Recherche

update table1 set TimeIn = '" & Textbox2.Text & "', NewDate = case when CAST(LEFT('" & Textbox2.Text & "', 2) AS INT) > CAST(LEFT('" & Textbox3.Text & "', 2) AS INT) then '" & Textbox1.Text & "' + 1 else '" & Textbox1.Text & "' end, TimeOut = '" & Textbox3.Text & "' Where Date = '" & Textbox1.Text & "' 

La requête ci-dessus affiche l'erreur comme « Échec de la conversion de la valeur varchar '23/02/2009' au type de données int »

Quelqu'un peut-il me donner une solution pour cette erreur.

Besoin d'aide de requêtes.

Répondre

1

Tout d'abord, vous devez utiliser plutôt des paramètres que la construction de l'instruction SQL en utilisant la chaîne comme votre exemple, vous ne voulez pas être victime de toute attaque par injection SQL. avertissement saftey sur Mais qu'en dehors de cette chose i:

`'" & Textbox1.Text & "' + 1 ` 

devrait être

DATEADD(day, 1,'" & Textbox1.Text & "') 

Ce sera alors ajouter 1 jour à votre date

Questions connexes