Duda sobre .NET con MySQL

hola a todos es mi primera pregunta en esta pagina y creo que haré muchas mas, espero puedan ayudarme con lo que necesito resulta que estoy...

La FAQ Duda sobre .NET con MySQL tiene

Pertenece a la categoría:
Pregunta
hola a todos es mi primera pregunta en esta pagina y creo que haré muchas mas, espero puedan ayudarme con lo que necesito

resulta que estoy diseñando una aplicación con visual studio 2010 y mysql( que uno a través del conector para .net que esta en la pagina de mysql), la forma que me plantee de trabajar es la de tener solo formularios para mostrar datos, no tienen origen de registros, y los botones que tienen los form abren la conexión, realizan la consulta, cierro la conexión y muestro. Este seria el procedimiento general tanto para crear,actualizar,mostrar y borrar registros. Hasta ahi todo bien. el problema que me surge es que no sè como hacer un procedimiento que me diga si se ha editado algún textbox del form, la idea es que si alguien cambia algo del form y se le olvida presionar el boton guardar cuando cierre el form me indique que cambie unos valores y me pregunte si deseo guardarlos.

eso seria. estaré muy agradecido y abierto a cualquier sugerencia o comentario.

y así como espero que me ayuden espero poder ayudar a otros también.

saludos
Respuesta de jsystemr
Hola respondiendo a tu pregunta, creo que se soluciona utilizando el dataset, la propiedad, getdatachange, que detecta cualquier cambio en tus tablas o tabla.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Erwin

18/8/2011
Respuesta
Puedes crearte una variable de tipo boleano, cuando se modifique cualquier textbox lo pones en true, y cuando le das al botón guardar esa variable la pones en false, y cuando quieres cerrar el form solo verificas el valor de la variable, si está en true es que hay cambios que no se guadaron aún y puedes hacer lo que desees.

Espero te sirva.

Alvaro Meoño

18/8/2011
Duda sobre .Net con Mysql
Para prevenir si va a actualizar, modificar o borrar se puede manejar por medio de botones, primero debe incluir una instrucción si desea modificar, eliminar, o actualizar y para asegurarse de que realizo la funcion se hace la siguiente instruccion:
instruccion de dialogo para lo que se desea:

DialogResult Respuesta = DialogResult.Yes;
Respuesta = MessageBox.Show("Desea modificar el registro o Eliminarlo ", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
if (Respuesta == DialogResult.Yes)
Para luego de que realizo la función realizar un metodo de busqueda de que si existe el dato .

public string VerificaGasto(string strCia, string strGasto)
// Verifica Catalogo Gasto
{
csDatosSql Sql = new csDatosSql();
string strVerifica = @"SELECT 'OK'
FROM catalogo_gasto
WHERE cia='" + strCia + "' AND " +
" gasto = '" + strGasto + "')";

return Sql.ConsultarSTR(strVerifica);

si la respuesta es "OK"

public Boolean Insertar(string strInsertar)
{
Boolean insertado = false;
SqlConnection cn = new SqlConnection();
cn.ConnectionString = this.strCadenaConexion;
cn.Open();

try
{
SqlCommand Insertar = new SqlCommand(strInsertar, cn);
Insertar.ExecuteNonQuery();
insertado = true;
}
catch (Exception ex)
{
string e = ex.Message;
//MessageBox.Show("Error al insertar: " + e);
insertado = false;
}
finally
{
cn.Close();
}
return insertado;
}
Hay muchas maneras de como hacerlo y puedes manejar la instruccion de diferentes maneras con el catch o con instrucciones Boolean.

Cualquier duda con gusto

DarkSensation

18/8/2011
SObre tu duda, una solucion mas ajustada a lo q creo q necesitas
Pues todas las soluciones anteriores son validas. pero creo q tu no tienes tantas acciones como te sugieren..

la opcion del booleano si se modifica un textbox no es muy valida porq si el usuario modifica y vuelve a modificar el textbox.text con el contenido original, la variable estara en true y te mandara el msgbox

si no quiere botones ni mensajes por cada accion.. creo q en load o al momento de cargar el registro lo guardas en una clase_original y cuando te vas a salir del form o algo. debes crear una clase_actual con toda la data y comparar if not clase_actual=clase_original(ambas clases son el mismo objeto), etonces mostar le msgbox guardar si o no .. y haces tu procedimiento .
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías