Retornar valor desde clase a los formularios
Publicado por Mendizalea (14 intervenciones) el 11/05/2018 11:28:55
Buenos dias,
Tengo esto dentro de una clase, al cual llamo desde mis formularios. Lo primero de todo llamo a un procedimiento almacenado de MySQL donde hace una select para ver si el participante seleccionado tiene algún tiempo asignado para la prueba y vuelta seleccionado y si no lo tiene lo inserta. Una vez insertado ejecuta otro procedimiento para almacenar el tiempo de vuelto en milisegundos. Todo esto funciona correctamente, lo unico, necesito que cuando el procedimiento me devuelve upgradeable false (=0) enviar al formulario desde la clase que no se a podido actualizar. Como lo podria hacer?
Muchas gracias
Tengo esto dentro de una clase, al cual llamo desde mis formularios. Lo primero de todo llamo a un procedimiento almacenado de MySQL donde hace una select para ver si el participante seleccionado tiene algún tiempo asignado para la prueba y vuelta seleccionado y si no lo tiene lo inserta. Una vez insertado ejecuta otro procedimiento para almacenar el tiempo de vuelto en milisegundos. Todo esto funciona correctamente, lo unico, necesito que cuando el procedimiento me devuelve upgradeable false (=0) enviar al formulario desde la clase que no se a podido actualizar. Como lo podria hacer?
Muchas gracias
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
public void insertar(List<string> valores)
{
using (MySqlCommand cmd = new MySqlCommand("GetTimeIfUpgradeable", conex))
{
try
{
conex.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@p_fldName", valores[4]);
cmd.Parameters["@p_fldName"].Direction = ParameterDirection.Input;
cmd.Parameters.AddWithValue("@p_eventID", valores[0]);
cmd.Parameters["@p_eventID"].Direction = ParameterDirection.Input;
cmd.Parameters.AddWithValue("@p_stageID", valores[1]);
cmd.Parameters["@p_stageID"].Direction = ParameterDirection.Input;
cmd.Parameters.AddWithValue("@p_competitorID", valores[2]);
cmd.Parameters["@p_competitorID"].Direction = ParameterDirection.Input;
cmd.Parameters.AddWithValue("@p_upgradeable", MySqlDbType.Int32);
cmd.Parameters["@p_upgradeable"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
int upgradeable = Convert.ToInt32(cmd.Parameters["@p_upgradeable"].Value);
if (upgradeable == 1)
{
string sql = "INSERT INTO Tiempos (IDCarrera, IDVuelta, IDParticipante, " + valores[4] + ")" +
"VALUES ('" + valores[0] + "', '" + valores[1] + "', '" + valores[2] + "', '" + valores[3] + "')" +
"ON DUPLICATE KEY UPDATE " + valores[4] + " = IF(NULLIF(" + valores[4] + ", ' ') IS NULL, '" + valores[3] + "', " + valores[4] + ");";
MySqlCommand sql_ins = new MySqlCommand(sql, conex);
sql_ins.ExecuteNonQuery();
using (MySqlCommand cmdupd = new MySqlCommand("UpdateTimeEventStageCompetitor", conex))
{
try
{
cmdupd.CommandType = CommandType.StoredProcedure;
cmdupd.Parameters.AddWithValue("@p_eventID", valores[0]);
cmdupd.Parameters["@p_eventID"].Direction = ParameterDirection.Input;
cmdupd.Parameters.AddWithValue("@p_stageID", valores[1]);
cmdupd.Parameters["@p_stageID"].Direction = ParameterDirection.Input;
cmdupd.Parameters.AddWithValue("@p_competitorID", valores[2]);
cmdupd.Parameters["@p_competitorID"].Direction = ParameterDirection.Input;
cmdupd.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message);
}
}
}
else
{
MessageBox.Show("El dorsal seleccionado ya tiene un tiempo asignado anteriormente");
}
}
catch (MySqlException ex)
{
MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message);
}
conex.Close();
}
}
Valora esta pregunta


0