Voici mon codeASP.Net Éclate une chaîne ne fonctionne pas
Dim RefsUpdate As String() = Session("Refs").Split("-"C)
Dim PaymentsPassedUpdate As String() = Session("PaymentsPassed").Split("-"C)
Dim x as Integer
For x = 1 to RefsUpdate.Length - 1
Dim LogData2 As sterm.markdata = New sterm.markdata()
Dim queryUpdatePaymentFlags as String = ("UPDATE OPENQUERY (db,'SELECT * FROM table WHERE ref = ''"+ RefsUpdate(x) +"'' AND bookno = ''"+ Session("number") +"'' ') SET alpaid = '"+PaymentsPassedUpdate(x) +"', paidfl = 'Y', amountdue = '0' ")
Dim drSetUpdatePaymentFlags As DataSet = Data.Blah(queryUpdatePaymentFlags)
Next
Je ne reçois pas d'erreurs pour cela, mais il ne semble pas fonctionner comme il se doit
Je passe un bookingref comme celui-ci AA123456 - BB123456 - CC123456 -
etc et le paiement comme celui-ci 50000 - 10000 - 30000 -
j'ai besoin essentiellement de mettre à jour le db avec l'arbitre AA123456
de sorte que le champ alpaid
a 50000
en elle.
peut sembler ne pas faire fonctionner
Toutes les idées?
Merci
Jamie
Qu'est-ce qui se passe actuellement, à quoi ressemblent vos chaînes de caractères? – msarchet
La base de données n'est-elle pas mise à jour? Deux causes possibles - double '' en citant la chaîne dans votre requête; le split ne supprimera pas les espaces qui tapissent les cordes, donc si votre valeur db est propre, elle manquera. –
Sur une note de côté, ce n'est pas un moyen sécurisé pour accéder à la base de données. La concaténation de valeurs dans SQL vous laisse large ouverte aux attaques par injection. Vous devez lier les paramètres à la place. –