FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
SQLExec Update
SQLExec Update
Débuté par Aaron Carballo, 15 oct. 2015 16:53 - 2 réponses
Connectez-vous…
Aaron Carballo
#1
Posté le 15 octobre 2015 - 16:53
I'm connected via web service to a sql database my connection seems to be ok the problem is at the time to execute an update. I have a looper that shows the database and I try to update when I touch a button, this is the code that I'm trying to use
SQLExec
(
"UPDATE PUESTOS SET NOMBRE ="
+
EDT_
Nombre
+
" APELLIDO ="
+
EDT_
Apellido
+
" PUESTO ="
+
EDT_
Puesto
+
" WHERE ID = "
+
STC_
ID
,
"QRY1"
)
Signaler
0
0
Willian Fernando
#2
Membre enregistré
123 messages
Popularité : +46 (46 votes)
Posté le 15 octobre 2015 - 21:02
Tu sentencia SQL esta mal, por lo que veo estas intentando actualizar Campos de tipo String/Varchar entonces debes proteger con Comilla simples los valores, tu codigo deberia estar algo como esto.
SQLExec
(
"UPDATE PUESTOS SET NOMBRE ='"
+
EDT_
Nombre
+
"' APELLIDO ='"
+
EDT_
Apellido
+
"' PUESTO ='"
+
EDT_
Puesto
+
"' WHERE ID = "
+
STC_
ID
,
"QRY1"
)
si el ID es numerico esta bien si no tambien lo debes proteger asi como los otros
Signaler
0
0
adrianoboller
#3
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 17 octobre 2015 - 11:49
Prezados
Eu recomendo fazer de outra maneira, segue minha sugestão:
Sqlcodigo is
string
= [
UPDATE PUESTOS SET NOMBRE ='@Nombre@' , APELLIDO ='@Apellido@' , PUESTO ='@Puesto@' WHERE ID = @ID@
]
//note que aonde é string tem aspa simples e no id que é int não tem aspas simples e o @@ que eu uso é uma convenção de código minha para agora usar o réplica da linha acima não trocar textos que não devem ser substituídos assegurando a troca somente naquela posição.
Sqlcodigo
=
Replace
(
Sqlcodigo
,
"@Nombre@"
,
Edt_Nombre
)
Sqlcodigo
=
Replace
(
Sqlcodigo
,
"@Apelido@"
,
Edt_Apelido
)
Sqlcodigo
=
Replace
(
Sqlcodigo
,
"@Puesto@"
,
Edt_Puesto
)
Sqlcodigo
=
Replace
(
Sqlcodigo
,
"@ID@"
,
Edt_ID
)
//OBS.: Agora tá 100% certo o código no debug aqui nesse ponto a string está perfeitamente montada fácil localização e pode ser capturada na parte da plane Debug o sql se copiar e colar do debug no seu Manager Sql digamos do Mssql vai ter que funcionar. LEMBRO da questão do null se tiver que controlar use o Replace null que eu postei no forum oficial da PcSoft Bar.
SQLExec
(
Sqlcodigo
,
"QRY1"
)
//Da mais trabalho mas fica mais fácil de achar os erros... que são na maioria das vezes a falta de vírgula entre campos que faltou no exemplo do sr Carbalho e não por aspas simples quando é string ou não por quando for num podendo ser controlado isso com o Replacenull ou com um IF ou ainda com uma condição TERNÁRIA ou usar o StringBuilder.
Um forte abraço e sucesso
--
Adriano Jose Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
______________________________________________
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte