Visual Basic - Bases de datos

Life is soft - evento anual de software empresarial
 
Vista:

Bases de datos

Publicado por Vic (16 intervenciones) el 08/06/2009 19:14:34
hola,
tengo el siguiente codigo que me permite cambiar la clave en mi base de datos

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset

conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=prueba; UID=root; PWD=0000; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conn.Open

rs.Open "UPDATE clave SET clave = '" + Text2.Text + "' WHERE clave = '" + Text1.Text + "'", conn

MsgBox "Su clave ha sido cambiada exitosamente.", vbOKOnly + vbInformation, "Información..."

conn.Close
Set conn = Nothing


este codigo solo me modifica un campo de la tabla! pero quiero saber como haría para modificar varios campos...
GRACIAS
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

RE:Bases de datos

Publicado por P3L30N2009 (699 intervenciones) el 09/06/2009 10:40:39
claro, ese codigo solo te modifica un campo de la tabla, o mejor dicho; un registro (espero que sepas cual es la diferencia entre un campo y un registro de la tabla):
modifica por lo indicado en Text2.Text aquél o aquellos registros cuyo valor actual sea igual a lo escrito en Text1.Text.

Unas preguntas:
¿Para qué sirve el recordset?
conn.Execute "UDATE clave SET clave = ...."

¿Porque pones el mismo nombre a la tabla y a un campo de la misma?
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

RE:Bases de datos

Publicado por Vic (16 intervenciones) el 09/06/2009 14:05:20
Si se cual es la diferencia de un registro y un campo!, de verdad no conozco mucho de programación .. Pensé que cuando utilizaba este método solo me modificaba un campo y no el registro! aclaro que no había notado esto porque simplemente tengo un solo campo en ese registro! pero ahora necesito modifica un registro que tiene 39 campos.

Este código lo utilizo

rs.Open "UPDATE clave SET clave = '" + Text2.Text + "' WHERE clave = '" + Text1.Text + "'", conn

Porque en Text1 esta almacenado el valor anterior que tenia el campo clave aquí es donde se hace el cambio!!! Este es una manera de hacerlo!! Bueno así lo hago yo. Así fue que logre hacerlo para hacer la modificación (por eso digo “modifico solo un campo”)!

Nota: si te hablé anteriormente de registro cuando debí de haber escrito campo o viceversa lo siento., en realidad si se cual es cada uno. Pero al momento de transcribir no note ese detalle!
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

RE:Bases de datos

Publicado por Vic (16 intervenciones) el 09/06/2009 15:10:44
Ah y respondiendo a la segunda pregunta es porque al momento de construir mi tabla en mysql lo hice así! y como me funciono bien no vi necesario cambiarla , si todo me funciono perfecto!
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

RE:Bases de datos

Publicado por Vic (16 intervenciones) el 09/06/2009 15:23:52
TENGO EL SIGUIENTE CODIGO PERO ME DA ERROR

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=pozos; UID=root; PWD=1234; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conn.Open

rs.Open "UPDATE datos SET pozos = '" + Text1.Text + "' WHERE pozos = '" + Text86.Text + "'", conn

MsgBox "Los Datos han sido cambiados exitosamente.", vbOKOnly + vbInformation, "Información..."

conn.Close
Set conn = Nothing

y error me lo arroja en

rs.Open "UPDATE datos SET pozos = '" + Text1.Text + "' WHERE pozos = '" + Text86.Text + "'", conn

¿no entiendo por que?
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

RE:Bases de datos

Publicado por Vic (16 intervenciones) el 09/06/2009 16:15:59
Bueno ya logre quitar el error!!
ahora tengo otro problemita, me gustaria que me echen una manito

asi

Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=pozos; UID=root; PWD=1234; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conn.Open

rs.Open "UPDATE datos SET pozo = '" + Text1.Text + "' WHERE pozo = '" + Text86.Text + "'", conn

MsgBox "Los Datos han sido cambiados exitosamente.", vbOKOnly + vbInformation, "Información..."

conn.Close
Set conn = Nothing


no me da ningun error, pero no me quiere modificar el registro me lo mantiene igual!

si lo hago asi con esta instruccion

rs.Open "UPDATE datos SET pozo = '" + Text1.Text + "' WHERE pozo = '" + Text1.Text + "'", conn
rs.Open "UPDATE datos SET estacion= '" + Text2.Text + "' WHERE pozo = '" + Text46.Text + "'", conn

me modifica todo los datos del campo estacion, si coloco Centro Operacional... todos los campos pertenecientes a estacion se me colocan del mismo nombre!

noc que es que es lo que le falta, por supuesto algo esta mal! pero no logro saber que es!

DISCULPEN MI IGNORANCIA y GRACIAS POR SUS RESPUESTAS
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

RE:Bases de datos

Publicado por Vic (16 intervenciones) el 09/06/2009 16:52:03
Hola ya encontré el problema....
Ya se porque no me modifica, el problema es que no yo no quiero modificar el campo clave! sino solamente los campos que le siguen, y modificando el campo clave es la única manera que se me modifiquen los demás! es decir tengo el codigo 358 y sus estación es CENTRO Operacional la única manera que me modifique la estación es que yo le cambie el código y eso no es lo que se quiere!!!!
¿Será que existe alguna manera de hacerlo?

Si pueden ayudarme se lo agradecería muchísimo!!!
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