|
Justamente cuando comence a trabajar en ambiente cliente servidor mi primera pregunta fue, cual es el equivalente al seek(), bueno, la respuesta es que no hay eso, todo es select, pero de velocidad no te preocupes, el mysql es realmente poderoso, siempre y cuando utilices indices correctamente, siempre debes tener en cuenta que en el where .... debe existir campos indices, bien, te cuento que tengo actualmente en produccion tablas con 1.100.000 registros y no tengo problemas en las busquedas de este tipo, por ej. select * from clientes where codigo=501 , si codigo es una clave primaria se supone que el resultado será siempre 1 registro, pero si quieres evitarte problemas puede ponerle limit 1 cuando no estas seguro de esto, pero siempre evita *, pon select codigo,nombre,tel from clientes where codigo=501 , esto sera mucho mas rapido, asi que no existe seek(), con respecto a tu 2da pregunta, str() es mi costumbre, bien puede hacerlo con ? como lo hiciste tu, es mi estilo, porque lo que uno envia al motor siempre es una clausula del tipo string (caracter) siempre, pero si txtClave fuese del tipo caracter no habria necesidad, esto seria asi: "select * from clientes where codigo="+thisform.txtClave.value y listo, asi que STR() no es mandatorio, todo depende como quieres concatenar los datos enviados al motor, 3ra pregunta, para reemplazar un registro existente es con update
update clientes set nombre='jose',tel='051546',direcion='avda mcal lopez' where codigo=501
siempre debes poner where para que no reemplazca toda la tabla, por lo tanto esto es el equivalente a replace campo with dato for condicion , pero no te preocupes, es muy rapido, lo que pasa es que le extrañamos los primeros tiempos al seek(), pero luego te das cuenta que mysql es maravilloso y no hay lentitud, siempre y cuando esten bien definidos los indices.
Espero haber respondido todas las preguntas.
|