Foros del Web » Programando para Internet » ASPX (.net) »

Numero o Cadena

Estas en el tema de Numero o Cadena en el foro de ASPX (.net) en Foros del Web. Hola necesito de su conocimiento para ver si me pueden ayudar con esto como puedo saber si una variable contiene numero o una cadena en ...
  #1 (permalink)  
Antiguo 30/05/2011, 10:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 41
Antigüedad: 13 años, 2 meses
Puntos: 1
Numero o Cadena

Hola necesito de su conocimiento para ver si me pueden ayudar con esto
como puedo saber si una variable contiene numero o una cadena en C#
  #2 (permalink)  
Antiguo 30/05/2011, 11:50
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Numero o Cadena

try
{
Int32.Parse(num);
return true;
}
catch
{
return false;
}

asi de facil conpañero...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 31/05/2011, 12:16
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 4 meses
Puntos: 8
Respuesta: Numero o Cadena

Hola,

Para comprobar si EXISTE UNO O MÁS NÚMEROS en una cadena alfanúmerica, puedes usar esto:

Código C#:
Ver original
  1. private bool haveNumber(String cadena)
  2.         {
  3.             bool isNum = false;
  4.             bool notNum = false;
  5.  
  6.             foreach (char c in cadena)
  7.             {
  8.             if (char.IsNumber(c) == true)
  9.             {
  10.                 isNum = true;
  11.             }
  12.             else
  13.             {
  14.                 return notNum;
  15.             }
  16.        
  17.             }
  18.  
  19.             return isNum;
  20.         }

Saludos,
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego
  #4 (permalink)  
Antiguo 01/06/2011, 09:22
 
Fecha de Ingreso: febrero-2011
Mensajes: 41
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Numero o Cadena

Los vuelvo a consultar y ahora para saber si la variable solo contiene letras?¿
  #5 (permalink)  
Antiguo 01/06/2011, 14:54
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 2 meses
Puntos: 76
Respuesta: Numero o Cadena

Cita:
Iniciado por SDEK Ver Mensaje
Hola,

Para comprobar si EXISTE UNO O MÁS NÚMEROS en una cadena alfanúmerica, puedes usar esto:

Código C#:
Ver original
  1. private bool haveNumber(String cadena)
  2.         {
  3.             bool isNum = false;
  4.             bool notNum = false;
  5.  
  6.             foreach (char c in cadena)
  7.             {
  8.             if (char.IsLetter(c) == true)
  9.             {
  10.                 isNum = true;
  11.             }
  12.             else
  13.             {
  14.                 return notNum;
  15.             }
  16.        
  17.             }
  18.  
  19.             return isNum;
  20.         }

Saludos,
Creo que solo debes modificar la pregunta, ( if (char.IsLetter(c) == true) ) ensaya y nos comentas.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #6 (permalink)  
Antiguo 02/06/2011, 13:23
 
Fecha de Ingreso: febrero-2011
Mensajes: 41
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Numero o Cadena

PERDON QUE SEA TAN PREGUNTON PERO ES QUE SOY NUEVO EN ESTO DE ASP.NET AHORA ESTE ES MI PROBLEMA, HAY DISCULPEN SI LLEGO A MOLESTARLOS CON MI IGNORANCIA
ESTE CODIGO ME GENERA UNA TABLA CON LA BUSQUEDA DESEADA, PERO LO QUE QUEIRO REALIZAR ESQUE ME AGREGE UN TERCER CAMPO QUE DIGA GENERAR Y QUE AL DARLE UN CLICK SE REDIRECCIONE A OTRA PAGINA DONDE TOME LOS VALORES DE LOS CAMPOS DONDE SE ENCUENTRA LA OPCION DE GENERAR, ESTE ME SERVIRIA PARA LA OPCION DE GENERAR UN REPORTE. POR EJEMPLO

RESULTADO DE LA BUSQUEDA

CODIGO APELLIDOS NOMBRE CREAR
1 LARIOS PEPE GENERAR

Y AL PULSAR GENERAR ME MANDE A OTRA PAGINA DONDE TOME LOS VALORES QUE CONTIENE ESA FILA O ME BASTARÍA CON TAN SOLO QUE ME REDIRECCIONE A OTRA PAGINA AQUIE LES PONGO EL CODIGO QUE TENGO


<%@ Page Title="Página principal" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RLs._Default" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server" language="c#" >
/*Variables utilizadas
----------------------------------------------------------------------------------------------------------------------------------------------------*/
String selectOpcion, textboxBusqueda, espacioBlanco, radioCheck, errorMensajeBlanco,errorMensajeExpresion;

void Page_Load(Object sender, EventArgs e) {
/*RadioButton seleccionados por tipos de busqueda
----------------------------------------------------------------------------------------------------------------------------------------*/
radioCheck = check.SelectedItem.Text;
if (radioCheck == "Codigo")
{
selectOpcion = "CODIGO";
textboxBusqueda = codigo.Text;
validarExpresion.ValidationExpression = "\\d+";
errorMensajeExpresion = "Valor Invalido";
errorMensajeBlanco = "Ingresa un Codigo";
}
else if (radioCheck == "Nombre")
{
selectOpcion = "NOMBRE";
textboxBusqueda = "'%" + codigo.Text + "%'";
validarExpresion.ValidationExpression = "[a-zA-ZñÑ ]{3,}";
errorMensajeExpresion = "Valor Invalido";

}
else if (radioCheck == "Apellido")
{
espacioBlanco = codigo.Text.Replace(" ", "");
selectOpcion = "APEPAT & APEPAT & APEMAT";
textboxBusqueda = "'%" + espacioBlanco + "%'";
validarExpresion.ValidationExpression = "[a-zA-ZñÑ ]{3,}";
errorMensajeExpresion = "Valor Invalido";
}
}
/*Funcion de boton que realiza la busqueda en la base de datos
---------------------------------------------------------------------------------------------------------------------------------------------------*/
void Busqueda(object sender, EventArgs args)
{
Int64 totalConteo;

/*CONEXION CON LA BASE DE DATOS
---------------------------------------------------------------------------------------------------------------------------------------*/
//Variable que utiliza para realizar la conexion
String conexionCadena = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\\RLs.mdb";

/*Crear un objeto OleDbConnection y pasar la ConnectionString al construtor.
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbConnection conexion = new OleDbConnection(conexionCadena);

/*Abrir la conexion
---------------------------------------------------------------------------------------------------------------------------------------*/
conexion.Open();

/*Consulta que cuenta todos los trabajadores en la tabla de TRABAJADOR
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbCommand totalRegistros = new OleDbCommand ("SELECT COUNT(*) FROM TRABAJADOR",conexion);
OleDbDataReader readerTotal = totalRegistros.ExecuteReader();
readerTotal.Read();
/*Consulta que cuenta todos los trabajadores por el metodo de busqueda ingresado
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbCommand totalBusqueda = new OleDbCommand ("SELECT COUNT(*) FROM TRABAJADOR WHERE (" + selectOpcion + " LIKE " + textboxBusqueda + ")", conexion);
OleDbDataReader reader = totalBusqueda.ExecuteReader();
reader.Read();
totalConteo = Convert.ToInt64(reader[0].ToString());

resultadoBusqueda.Text = "El resultado de la busqueda es "+reader[0].ToString()+"-"+readerTotal[0].ToString();
/*Crear un objeto OleDbCommand para llevar acabo la consulta
---------------------------------------------------------------------------------------------------------------------------------------*/
OleDbDataAdapter consulta = new OleDbDataAdapter("SELECT NOMBRE,APEPAT,APEMAT,CODIGO FROM TRABAJADOR WHERE (" + selectOpcion + " LIKE " + textboxBusqueda + ")", conexion);
DataSet ds = new DataSet();

try
{
if (totalConteo > 0) {
consulta.Fill(ds, "TRABAJADOR");
repiteDatos.DataSource = ds.Tables["TRABAJADOR"].DefaultView;
repiteDatos.DataBind();
}
}
catch {
}
}
</script>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Busqueda
</h2>

<asp:RadioButtonList ID="check" runat="server" RepeatDirection="Horizontal" AutoPostBack="true" >
<asp:ListItem Text="Codigo" Selected="True" Value="GreaterThan"/>
<asp:ListItem Text="Nombre" />
<asp:ListItem Text="Apellido" />
</asp:RadioButtonList>

<!--Textbox utilizado para ingresar la busqueda en la BD-->
<asp:TextBox ID="codigo" runat="server" onkeyup="this.value=this.value.toUpperCase()" />
<asp:Button ID="codigoBoton" runat="server" Text="Buscar" OnClick="Busqueda" />

<!--Validador del textbox para que solo se ingresen numeros cuando se seleccione el radiobutton de codigo-->
<asp:RegularExpressionValidator ID="validarExpresion" runat="server" ControlToValidate="codigo" Display="Dynamic"
ForeColor="Red" Font-Size="8" Font-Bold="true" Font-Italic="true">
<%= errorMensajeExpresion %>
</asp:RegularExpressionValidator>

<asp:RequiredFieldValidator ID="validarBlanco" runat="server" ControlToValidate="codigo" Display="Dynamic"
ForeColor="Red" Font-Size="8" Font-Bold="true" Font-Italic="true" >
<%= errorMensajeBlanco %>
</asp:RequiredFieldValidator>

<br />
<!--Label que muestra el resultado de la busqueda-->
<asp:Label ID="resultadoBusqueda" runat="server" />


<asp:Repeater ID="repiteDatos" runat="server">
<HeaderTemplate>
<table width="30%" style="font: 8pt verdana">
<tr bgcolor="ff00d8">
<th>Codigo</th>
<th>Apellido Paterno</th>
<th>Apellido Materno</th>
<th>Nombre(s)</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor="FFECD8">
<td align="right"><%# DataBinder.Eval(Container.DataItem, "CODIGO") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"APEPAT") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"APEMAT") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem,"NOMBRE") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


</asp:Content>
  #7 (permalink)  
Antiguo 03/06/2011, 12:38
Avatar de SDEK  
Fecha de Ingreso: diciembre-2009
Ubicación: MX
Mensajes: 156
Antigüedad: 14 años, 4 meses
Puntos: 8
Respuesta: Numero o Cadena

Cita:
Iniciado por jhonwilliams Ver Mensaje
Creo que solo debes modificar la pregunta, ( if (char.IsLetter(c) == true) ) ensaya y nos comentas.

Saludos
Claro, gracias por la observación. Lo haré.

Saludos.
__________________
Tecnologías de la Información
Karel Priego
| @karelpriego

Etiquetas: numero, aspx, cadenas
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 00:16.