FoxPro/Visual FoxPro - ayuda no me quiere grabara informcaion de foxpro a SQL

 
Vista:
Imágen de perfil de rob

ayuda no me quiere grabara informcaion de foxpro a SQL

Publicado por rob (4 intervenciones) el 16/04/2016 08:45:05
hola que tal? buenas noches necesito ayuda tengo un trabajo una tarea y bueno el programa es en foxpro con base de datos de sql le e preguntado a mi profesor que me sugiere y que me ayude pero solo me dice investigue usted mismo. típico de los profesores.
Bueno mi problemas es que no me quiere grabar nada en las base de datos que las tengo en sql y estoy trabajando en foxpro, soy nuevo en el mundo de foxpro casi no lo e aprendido a usarlo bien y también dejo una imagen.
gracias por la ayuda.!

esto es lo que tengo en el boton nuevo evento click
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
with thisform
   msql='select max(solicitud) solicitud from '+_tabla+' where solicitud=?.solicitud.value'
   x=sqlexec(mconnect,msql,'cnt')
   if x<0
      messagebox(msql,'Error de conexion')
      return.f.
   endif
   s=padl(alltrim(str(iif(isnull(solicitud),1,val(solicitud)+1))),7,'0')
   x=sqlexec(mconnect,"insert "+_tabla+" values (?s,,'0','0','0')")
    .solicitud.value=s
    .solicitud.enabled=.t.
    .proceso.enabled=.t.
    .certificado.enabled=.t.
    .denegado.enabled=.t.
    .aprobado.enabled=.t.
    .certificado.setfocus
 .grabar.enabled=.t.
endwith


esto s lo que tengo en el boton grabar evento click
1
2
3
4
5
6
7
8
9
10
11
with thisform
   x=sqlexec(mconnect,'update '+_tabla+'  set solicitud=?.solicitud.value where certificado=?.certificado.value and proceso=?.proceso.value denegado=?.denegado.value aprobado=?.aprobado.value')
 textos=.t.
 iconos=.t.
 .habilitar
  .certificado.enabled=.f.
  .proceso.enabled=.f.
  .denegado.enabled=.f.
  .aprobado.enabled=.f.
.grabar.enabled=.f.
endwith
informe
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda no me quiere grabara informcaion de foxpro a SQL

Publicado por Saul Hernandez (728 intervenciones) el 16/04/2016 19:03:23
Hola Rob:

Veo que no sabes mucho, te aconsejo algo.

a) Deberias estudiar SQL
b) Estudiar mas Visual FoxPro
c) En el Blog no, ayudamos a Estudiantes, (si no se acustubran a que uno les haga la tarea)

Pero veo que te esforzaste y eso te dire algunos tips.

Mira en tu script de tu INSERT te falta INSERT INTO
En el de UPDTE te falta AND en el WHERE.

y ademas te digo como hacerlo mas facil eso de interatuar con SQL.
yo lo hago deesta manera y me funciona a la perfeccion, porque ??, pues hago mi codigo SQL lo pruebo, cualquier consulta insert o update que tengas.
Luego solo lo copias y cambias algunas cosas en Visual fox pro y listo.

Suerte amigo..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
*-Grabar
with thisform
 
   msql='select max(solicitud) solicitud from '+_tabla+' where solicitud=?.solicitud.value'
 
   x=sqlexec(mconnect,msql,'cnt')
 
   if x<0
 
      messagebox(msql,'Error de conexion')
 
      return.f.
 
   endif
 
   s=padl(alltrim(str(iif(isnull(solicitud),1,val(solicitud)+1))),7,'0')
 
  * x=sqlexec(mconnect,"insert "+_tabla+" values (?s,,'0','0','0')")
 
   mCampo1 = s
   mCampo2 = 0
   mCampo3 = 0
 
	   msql = ""
 	   TEXT TO msql NOSHOW
			INSERT INTO TuTablaSQL (Campo1,
									Campo2,
									Campo3)
	  			    VALUES (?mCampo1,
	  			    		?mCampo2,
	  			    		?mCampo3)
		ENDTEXT
 
	    cmd = SQLEXEC(mconnect,msql)
 
		IF cmd > 0 	 && Intenta confirmar los cambios
		    WAIT WINDOW AT SROWS() / 2, (SCOLS() / 2) - 5  'Guardando en Base de Datos!!!' NOWAIT
		ELSE
			IF AERROR(laError)> 0
				Messagebox("No guardo ningún dato se ha producido un Error: "+laError[2])
			ENDIF
		ENDIF
 
 
    .solicitud.value=s
 
    .solicitud.enabled=.t.
 
    .proceso.enabled=.t.
 
    .certificado.enabled=.t.
 
    .denegado.enabled=.t.
 
    .aprobado.enabled=.t.
 
    .certificado.setfocus
 
 .grabar.enabled=.t.
 
ENDWITH
 
 
*-Modificar
with thisform
 
 *x=sqlexec(mconnect,'update '+_tabla+'  set solicitud=?.solicitud.value where certificado=?.certificado.value and proceso=?.proceso.value denegado=?.denegado.value aprobado=?.aprobado.value')
 
  mSolicitud   = .Solicitud.value
  mCertificado = .certificado.value
  mProceso     = .proceso.value
  mDenagado    = .denegado.value
  mAprobado    = .aprobado.value
 
  msql = ""
  TEXT TO msql NOSHOW
			UPDATE TuTablaSQL SET solicitud = ?mSolicitud
			WHERE certificado = ?mCertificado
			 AND proceso = ?mProceso
			 AND denegado = ?mDenagado
			 AND aprobado = ?mAprobado
		ENDTEXT
 
	    cmd = SQLEXEC(mconnect,msql)
 
		IF cmd > 0 	 && Intenta confirmar los cambios
		    WAIT WINDOW AT SROWS() / 2, (SCOLS() / 2) - 5  'Actualizando Base de Datos!!!' NOWAIT
		ELSE
			IF AERROR(laError)> 0
				Messagebox("No guardo ningún dato se ha producido un Error: "+laError[2])
			ENDIF
		ENDIF
 
 
 textos=.t.
 
 iconos=.t.
 
 .habilitar
 
  .certificado.enabled=.f.
 
  .proceso.enabled=.f.
 
  .denegado.enabled=.f.
 
  .aprobado.enabled=.f.
 
.grabar.enabled=.f.
 
endwith
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de rob

ayuda no me quiere grabara informcaion de foxpro a SQL

Publicado por rob (4 intervenciones) el 17/04/2016 22:59:00
muchas gracias amigo! gracias por los tip.

Si e tratado de estudiar mas de vfp y SQL y la verdad soy nuevo en el mundo de la programación casi toda mi vida me e orientado en la electrónica, red y electricidad y bueno asta se poco me empiezo a involucrar en el mundo de la programación e comenzado con visual basic y .net pero asta ase poco comienzo con programación de foxpro y sql.

Bueno gracias por los tip y por la ayuda te lo agradezco amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar