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

Error en Arrays (For i=0 ) de c#

Estas en el tema de Error en Arrays (For i=0 ) de c# en el foro de .NET en Foros del Web. Chicos.. antes que nada hola.. la verdad tengo un problema complicado de resolver que me esta volviendo loco.. La cosa es asi.. tengo una web.. ...
  #1 (permalink)  
Antiguo 12/02/2009, 08:00
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Error en Arrays (For i=0 ) de c#

Chicos.. antes que nada hola.. la verdad tengo un problema complicado de resolver que me esta volviendo loco..
La cosa es asi.. tengo una web.. con un buscador de articulos y se pueden buscar varios articulos... o sea si ingresan "111a 121b" buscaria todo lo que contenga "111a" y "121b"... El problema es que cuando quiero crear la funcion para este caso me da error... no me funcion el array o no se como es en C#
Yo creo que hay errores de sintaxys...
Esta funcion lo que hace es reconocer que si hay 2 palabras o mas segun encuentre espacios haria un array por cada palabra. Espero que se entienda...

El codigo real en ASP comun es asi (este esta funcionando):
Código PHP:
Function sqlLike(sSearch)
    
'response.write ssearch
    '
response.end
        Dim vect
        Dim i
        vect 
Split(sSearch" ")

        If 
UBound(vect) > 0 Then
            sqlLike 
" Like "
            
For 0 To UBound(vect)
                
sqlLike sqlLike "'%" vect(i) & "%'"
                
If UBound(vectThen
                    sqlLike 
sqlLike " or Articulo_Descripcion like "
                
End If
            
Next
                    sqlLike 
sqlLike " or Articulo_Descripcion like '%" sSearch "%' "
        
Else
            
sqlLike " Like '%" sSearch "%' "
        
End If
end function 

Y este es el codigo que hice para C#:
Código PHP:
private void sqlLike(string sSearch)
    {
        
//Response.Write (sSearch);

        
string[] vect;
        
string like;
        
int i;
        
char[] splitter  = {' '};
        
vect sSearch.Split(splitter);

        if (
vect.GetUpperBound(1) > 0)
        {
            
like " Like ";
            for (
0i=vect.GetUpperBound(1); i++)
            {
                
like like "'%" vect(i) & "%'";
                if (
vect.GetUpperBound(1))
                { 
                
like like " or Articulo_Descripcion like "
                }else{
                
like like " or Articulo_Descripcion like '%" sSearch "%' ";
                }
            }
        }else{
        
like " Like '%" sSearch "%' ";
        }
    } 
Muchas Gracias por su ayuda...
  #2 (permalink)  
Antiguo 12/02/2009, 08:06
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Error en Arrays (For i=0 ) de c#

for(int i=0; i=algo;i++)

parte 1 inicializacion int i=0
parte 2 condicion ahi no le veo sentido a una igualdad tendria que ser algo como < , <= ,o > o >=
parte 3 el incremento o decremento

ojo revisa bien cual es tu condicion

por lo que veo tu codigo de vb solo cambiaria a

for(int i=0;i<vector.Lenght;i++)

prueba y me dices como te fue
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 12/02/2009, 08:13
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error en Arrays (For i=0 ) de c#

Cita:
Iniciado por Peterpay Ver Mensaje
for(int i=0; i=algo;i++)

parte 1 inicializacion int i=0
parte 2 condicion ahi no le veo sentido a una igualdad tendria que ser algo como < , <= ,o > o >=
parte 3 el incremento o decremento

ojo revisa bien cual es tu condicion

por lo que veo tu codigo de vb solo cambiaria a

for(int i=0;i<vector.Lenght;i++)

prueba y me dices como te fue
Hola Peter...
Lo hice como me dijiste pero me tiraba error... ahora le agregue el System.Array y me tira este error

"A using namespace directive can only be applied to namespaces; 'System.Array' is a type not a namespace"

Asi quedo mi codigo:
Código PHP:
for (0i<vect.Lenghti++) 
Yo no se si esta bien el codigo como lo modifique.. a lo mejor no sirve para C# pero si para ASP comun.. el problema es qeu en esta web no tengo ASP comun y tengo que hacerlo si o si en ASP.NET

Tambien probe el codigo asi (tampoco funciona):
Código PHP:
for (0i<Vector.Lenghti++) 
Espero que me puedan ayudar a solucionarlo...
Gracias por tu rapida respuesta...
  #4 (permalink)  
Antiguo 12/02/2009, 08:18
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error en Arrays (For i=0 ) de c#

Chicos .. pude pasar a un segundo paso...
Modifique esta linea:
Código PHP:
 for (0i=vect.GetUpperBound(1); i++) 
por esta:
Código PHP:
 for (0i<vect.GetUpperBound(1); i++) 
y ahora da este error:
" CS0118: 'vect' is a 'variable' but is used like a 'method' "

pero no entiendo porque...

Código PHP:
    private void sqlLike(string sSearch)
    {
        
//Response.Write (sSearch);

        
string[] vect;
        
string like;
        
int i;
        
char[] splitter  = {' '};
        
vect sSearch.Split(splitter);

        if (
vect.GetUpperBound(1) > 0)
        {
            
like " Like ";
            for (
0i<vect.GetUpperBound(1); i++)
            {
                
like like "'%" vect(i) + "%'";
                if (
vect.GetUpperBound(1))
                { 
                
like like " or Articulo_Descripcion like "
                }else{
                
like like " or Articulo_Descripcion like '%" sSearch "%' ";
                }
            }
        }else{
        
like " Like '%" sSearch "%' ";
        }
    } 
Muchas gracias..
  #5 (permalink)  
Antiguo 12/02/2009, 08:22
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error en Arrays (For i=0 ) de c#

Cita:
Iniciado por sergiogmuro Ver Mensaje
Chicos .. pude pasar a un segundo paso...
Modifique esta linea:
Código PHP:
 for (0i=vect.GetUpperBound(1); i++) 
por esta:
Código PHP:
 for (0i<vect.GetUpperBound(1); i++) 
y ahora da este error:
" CS0118: 'vect' is a 'variable' but is used like a 'method' "

pero no entiendo porque...

Código PHP:
    private void sqlLike(string sSearch)
    {
        
//Response.Write (sSearch);

        
string[] vect;
        
string like;
        
int i;
        
char[] splitter  = {' '};
        
vect sSearch.Split(splitter);

        if (
vect.GetUpperBound(1) > 0)
        {
            
like " Like ";
            for (
0i<vect.GetUpperBound(1); i++)
            {
                
like like "'%" vect(i) + "%'";
                if (
vect.GetUpperBound(1))
                { 
                
like like " or Articulo_Descripcion like "
                }else{
                
like like " or Articulo_Descripcion like '%" sSearch "%' ";
                }
            }
        }else{
        
like " Like '%" sSearch "%' ";
        }
    } 
Muchas gracias..
De nuevo yo... jeje.. a medida que voy pasando les voy diciendo como va quedando..

Al aprecer ahora ya no tira mas errores pero no encuentra de a mas de 1... eso lo veo despues y sino volvere a preguntar...
Les comento como solucione el error anterior..

tenia parentesis en la linea de vect(i) y lo cambie por corchetes asi que quedo de la siguiente manera el codigo...
Código PHP:
like like "'%" vect[i] + "%'"
Bueno espero que les sirva... Gracias a todos y abrazos
  #6 (permalink)  
Antiguo 13/02/2009, 06:20
 
Fecha de Ingreso: junio-2007
Ubicación: Argentina
Mensajes: 111
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Error en Arrays (For i=0 ) de c#

Listo chicos.. lo pude solucionar... le tuve que poner un +1 al :
Código PHP:
for (0i<vect.GetUpperBound(0)+1i++) 
porque me contaba siempre uno antes.. entonces no terminaba la sentencia y daba error....

Bueno aca abajo les dejo el codigo por si a alguno le sirve... si es asi comenten o agradescan que no cuesta nada...

Código PHP:
    protected void Page_Load(object senderEventArgs e)
    {
        if (
Request.QueryString["id"]!=null)
        {
            
id Request.QueryString["id"].ToString();
        }
        
        if (
id == null)
        {
              
id "";
        }
//------ SEPARA PARA LA BUSQUEDA SI TENE MAS DE UN ARTICULO -------\\
        
string[] vect;
        
string strLike;
        
int i;
        
char[] splitter  = {' '};
        
vect id.Split(splitter);
       
        if (
vect.GetUpperBound(0) > 0)
        {
            
strLike " like ";

            for (
0i<vect.GetUpperBound(0)+1i++)
            {
                
strLike strLike "'%" vect[i] + "%'";
                 if (
vect.GetUpperBound(0))
                { 
                
strLike strLike " or Articulo_Descripcion like "
                }else{
                
strLike strLike " or Articulo_Codigo like '%" +  vect[i] + "%' ";
                }
            }
        }else{
        
strLike " like '%" id "%' ";
        }
//---------- FIN DEL CODIGO SEPARADOR DE STRINGS ------ \\

//---------- CONECCION DEL CODIGO CON LA BASE DE DATOS EN FOREACH ------ \\
        
dt_search SearchArticulo.Search(strLike);
        foreach(
System.Data.DataRow dr in dt_search.Rows)
        {
//---------------------------------------------------------------------------------------------------\\

//----------  ASI QUEDO EL ARCHIVO DE CONEXION CON BASE -------- \\
string comando "Select * from articulo where Articulo_Descripcion " Articulo_Codigo " and Articulo_Activo='SI' and Articulo_Sold='NO'";
//---------- --------------------------------------------------------------- -------- \\ 
Gracias a todos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:52.