![]() |
C#: Validacion Existe? No existe? Tengo una tabla simple en sql: Codigo INT Descripcion VarChar (10) Se puede validar desde C# si existe el codigo que estoy ingresando por ejemplo en la variabla txtCodigo del formulario, sin necesidad de realizar un procedimiento almacenado. Manuel. |
Re: C#: Validacion Existe? No existe? con una consulta sea plana o sp tienes q validarlo no hay otra forma, a menos de q tuvieses un cache de aplicacion compartido entre todos tus usarios y validaras si no esta ahi pero es mas complicado |
Re: C#: Validacion Existe? No existe? en el subforo de sql me dijeron que este sp me podria servir CREATE FUNCTION fn_ExisteCodigo ( @codigo INT ) RETURNS INT AS BEGIN RETURN EXISTS(SELECT 1 FROM TABLA WHERE @codigo = codigo) END claro que me da un error: Mens 156, Nivel 15, Estado 1, Procedimiento fn_ExisteCodigo, Línea 9 Sintaxis incorrecta cerca de la palabra clave 'EXISTS'. como puedo unir esa funcion desde mi aplicacion c# es decir, despues que se digite en el texbox el codigo, como enlazarlo con la funcion? saludos manuel |
Re: C#: Validacion Existe? No existe? esa es una funcion no un procedimiento. lo que podrias hacer es consultar un procedimiento o funcion que te retorne un valor numerico Código: CREATE FUNCTION fn_ExisteCodigoCódigo: CREATE Procedure msp_ExisteCodigoo podrias hacer Código: CREATE Procedure msp_ExisteCodigo |
Re: C#: Validacion Existe? No existe? ejecute el sp y me resulto, m devuelve 0 o 1 segun el caso. perfecto! ahora me gustaria saber como engancho ese sp al txtCodigo que es la variable del form en la cual se tiene que digitar. se que por ahi tendria que ocupar un message.box("no existe") y que quiza previo a eso debiera haber algun if y else...por favor estimados, ayudenme a ordenar la idea. private void txtProducto_TextChanged(object sender, EventArgs e) { if (????? ==0) MessageBox.Show("No existe") else ????? }saludos manuel |
Re: C#: Validacion Existe? No existe? en ese caso lo mas sano es hacerlo en el Leave y no en el Change, o capturar el caracter que estan digitando y validarlo solo si es digitaron un enter. imaginate que tienes que digitar una palabra de 5 letras, osea de la letra 1 a la 4 te va a salir el mensaje de no existe, me pego un tiro. es mejor que valide una unica ves cuando se termina de digitar y ya sea que abandona el textbox o digita un enter en el textbox |
Re: C#: Validacion Existe? No existe? este es mi sp ALTER Procedure [dbo].[sp_comanda_valproducto] ( @txtProducto VARCHAR(10) ) AS BEGIN SELECT count(codigo) as codigoreturn FROM tbl_producto WHERE @txtProducto = codigo END la ayuda que necesito es como validar lo que ingreso en el txtproducto del form, es decir si el codigo es valido o no...se que el sp, me devuelve un 0 o un 1, pero no se como llenar la parte del private void private void txtProducto_Leave(object sender, System.EventArgs e) { } manuel |
Re: C#: Validacion Existe? No existe? Voy a escribir el codigo sin validarlo en el visual studio, no estoy en mi compu asi que lo tienes que traducir, es casi pseudocidogo lo que voy a poner Código: private void txtProducto_Leave(object sender, System.EventArgs e) |
Re: C#: Validacion Existe? No existe? private void txtProducto_Leave(object sender, System.EventArgs e) { DataSet ds = new DataSet(); ds = Helper.ObtenerDataTableGetS("[sp_comanda_valproducto]", txtProducto.Text); if (ds.tables(0).rows.count == 0 ) { MessageBox.Show("No existe!"); } } nota: Helper.ObtenerDataTableGetS, es mi clase para llamar SP por ahi va...solo que me da estos errores: Error 1 No se puede convertir implícitamente el tipo 'System.Data.DataTable' a 'System.Data.DataSet' C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 406 22 GesCas Error 2 'System.Data.DataSet' no contiene una definición para 'tables' C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 408 28 GesCas manuel |
Re: C#: Validacion Existe? No existe? Cita:
la funcion que estas consultando del Helper te retorna un datatable o tambien en lugar de haces ds = NewDataset puedes cambiarlo por Código: DataTable dt = new DataTable(); |
Re: C#: Validacion Existe? No existe? como el procedimiento almacenado me pide @txtProducto, ajuste el codigo y lo deje asi: SqlParameter[] parametros3 = new SqlParameter[1]; parametros3[0] = new SqlParameter("@txtProducto", SqlDbType.Char); parametros3[0].Value = txtProducto.Text; DataTable dt = new DataTable(); dt = Helper.EjecutarProcedimiento "[sp_comanda_valproducto]",parametros3); if (dt.Rows.Count == 0) MessageBox.Show("No existe!"); pero me da el siguiente error: Error 1 No se puede convertir implícitamente el tipo 'void' a 'System.Data.DataTable' C:\Proyectos Visual.NET\GesCas\GesCas\ComandaForm.cs 410 18 GesCas |
Re: C#: Validacion Existe? No existe? please help!, estoy a punto de lograrlo! gracias a ustedes en gran parte manuel |
| La zona horaria es GMT -6. Ahora son las 08:18. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.