GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV Mobile 2024
→
SQLExec Update
SQLExec Update
Iniciado por Aaron Carballo, out., 15 2015 4:53 PM - 2 respostas
Conecte-se…
Aaron Carballo
#1
Publicado em outubro, 15 2015 - 4:53 PM
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"
)
Denunciar
0
0
Willian Fernando
#2
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em outubro, 15 2015 - 9:02 PM
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
Denunciar
0
0
adrianoboller
#3
Membro registado
3.662 mensagems
Popularité : +175 (223 votes)
Publicado em outubro, 17 2015 - 11:49 AM
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
______________________________________________
Denunciar
0
0
→ Voltar para WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (versões anteriores)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto