Foros del Web » Programación para mayores de 30 ;) » .NET »

Error de Update

Estas en el tema de Error de Update en el foro de .NET en Foros del Web. teng un error cuando intento cargar un valor de resta a una fila especifica en un base de datos. aca dejo la programacion y una ...
  #1 (permalink)  
Antiguo 06/07/2009, 17:00
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Error de Update

teng un error cuando intento cargar un valor de resta a una fila especifica en un base de datos. aca dejo la programacion y una leyenda de lo que significan los codigos ejm.

oleDbDataAdapter1 = Adaptador
STOCK = nombre de la Tabla
CODIGO = Fila especifica
DR = DataRow
txtCodigoProducto.Text = texbox de referencia para la busqueda con el codigo
:\\SAPACHRIS\\SAPACHRIS\\bin\\Debug\\Chrisjhoanmar y.accdb"); = Direccion de Badse de Datos

y lo demas es evidente agradesco toda informacion que me puedan brindar al respecto Gracias... estos son mis correos

oleDbDataAdapter1.Fill(dataSet1, "STOCK");
DGW.DataSource = dataSet1;
DataRow[] DR = dataSet1.Tables["STOCK"].Select("CODIGO='" + txtCodigoProducto.Text + "'");
if (DR.Length == 0)
{
MessageBox.Show("Producto No Existe");
}
else
{
double A, C, D;
Fil = dataSet1.Tables["STOCK"].Rows.IndexOf(DR[0]);
A = Convert.ToDouble(dataSet1.Tables["STOCK"].Rows[Fil][2]);
C = Convert.ToDouble(txtCantidad.Text);
D = A - C;
OleDbConnection CONN;
OleDbCommand ODC;
CONN = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=H:\\SAPACHRIS\\SAPACHRIS\\bin\\Debug\\Chris jhoanmary.accdb");
string q = "UPDATE VENTAS SET CANTIDADRESTANTE=CANTIDADRESTANTE where CODIGO= " + txtCodigoProducto;
ODC = new OleDbCommand(q, CONN);
ODC.Parameters.Add(new OleDbParameter("CANTIDADRESTANTE", OleDbType.VarWChar, 30));
ODC.Parameters["CANTIDADRESTANTE"].Value = Convert.ToString(D);
ODC.Connection.Open();
ODC.ExecuteNonQuery();
ODC.Connection.Close();

lo que quiero es hacer que en la tabla se guarde el valor de la modificacion. gracias---- ya coloque los arroba en lo sitios correspondietes pero el spam no me deja que los suba a la web
  #2 (permalink)  
Antiguo 07/07/2009, 13:05
Avatar de neo101  
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Error de Update

SAludos...


Oye, me llaman la atención estos códigos:

UPDATE VENTAS SET CANTIDADRESTANTE=CANTIDADRESTANTE

y

...Parameters.Add(new OleDbParameter("CANTIDADRESTANTE", OleDbType.VarWChar, 30));

No se si te marque error o un bloque try lo oculte, pero lo que si te puedo decir es que cuando en el update le dices: CANTIDADRESTANTE=CANTIDADRESTANTE, y tecnicamente es como si dijeras: "campo = campo", te recomiendo que al parametro le antepongas una arroba y asi lo manejes en el update, quedando:

UPDATE VENTAS SET CANTIDADRESTANTE=@CANTIDADRESTANTE

y

...Parameters.Add(new OleDbParameter("@CANTIDADRESTANTE", OleDbType.VarWChar, 30));

Nos dices como te fue...
  #3 (permalink)  
Antiguo 08/07/2009, 08:06
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Error de Update

hola gracias hermano por su respuesta pero creo que olvidastes lo que escribi debajo del codigo... donde expreso claramente que por problemas de spam el servidor no me dejo colocar los arrobas correspondientes es decir lo que me indicas ya esta hecho solo que no lo pude subir al foro... gracias de todas maneras y aun sigo con el erro jeje...
  #4 (permalink)  
Antiguo 10/07/2009, 10:51
Avatar de neo101  
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Error de Update

jajajaja... q zopenco me vi xD

Oye, no se me ocurre mucho, habrá forma de que obtengas el comando SQL que esta enviandote la instrucción ExecuteNonQuery?

Para ver exactamente porque no se actualiza...

Saludos
  #5 (permalink)  
Antiguo 11/07/2009, 15:38
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Error de Update

el error en sí cual es?? no hace nada?, te bota un error? cual ?
bueno, haz lo siguiente:
pon un msgbox debajo de esta línea:
string q = "UPDATE VENTAS SET CANTIDADRESTANTE=CANTIDADRESTANTE where CODIGO= " + txtCodigoProducto;
que por cierto al final falta el .text o sea txtCodigoProducto.text
e imprime Q, revisa la cadena a ver si está bien, creo te falta una comilla al final, suerte!
  #6 (permalink)  
Antiguo 11/07/2009, 16:03
 
Fecha de Ingreso: marzo-2007
Ubicación: Guadalajara
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Error de Update

como comentario adicional, deberías usar un try .. catch .. finally y se me hace SUPER IMPORTANTE que limpies el parámetro que estás enviando, me refiero a prevenir un ataque de SQL Injection
si yo en tu txtCodigoProducto te mando el siguiente valor '' or 1 = 1 -- acabo con tu sistema.

Ejemplo para limpiar tu parámetro la función replace

dim miparámetro, parametrolimpio as string


miparametro = txtCodigoProducto.text

parametrolimpio = miparámetro.replace("'","") 'reemplazar comillas simples por nada
parametrolimpio = parametrolimpio .replace("--","")
parametrolimpio = parametrolimpio .replace("/*","")
parametrolimpio = parametrolimpio .replace("*/","")
parametrolimpio = parametrolimpio .replace("-","")
parametrolimpio = parametrolimpio .replace(";","")

etc.. y así nuestro parámetro quedaría libre de caracteres que pudieran alterar nuestra consulta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.