Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2007, 06:43
Kurace
 
Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 16 años, 6 meses
Puntos: 0
Error extraño. Va en local, pero no en el servidor ¿¿??

Buenos días.

Estoy con una web de estadísticas en ASP.NET y aparentemente funciona OK porque me muestra los datos que quiero.

El caso es que lo subo al servidor y...una parte no funciona. Y yo no lo entiendo, pues la consulta es correcta, lo busca correctamente, pero...en mi máquina, porque en el servidor no hace nada .

Así que mosqueante el caso es. El caso que la consulta sí es correcta, por lo que el fallo tiene pinta de estar en el código y ahora mismo no caigo cuál puede ser el fallo .

Os dejo el código para que le echéis un ojo:

Código:
		protected static bool entra;
		protected string[] ciertoEntra = new string[20];
		protected string[] ciertoEntraNodo = new string[20];
		protected string[] ciertoEntraNode = new string[20];
		protected int indiceEntra=0;
		protected int indiceEntraNodo=0;
		protected int indiceEntraNode=0;
		protected static bool entraNodo;
		protected static bool entraNode;

		public string SacaNoticiaCof(string dato)
		{
			int total=0;

			string datos="";

			entra=false;

			string sql="select b.title from estadisticas_agregado a, channels b where a.web = b.keymultiweb and b.idchannel="+dato;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						entra=true;

						total=objDataSet.Tables[0].Rows.Count;
						dataLabel = new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							if (entra==true)
							{
								datos = objDataRow["title"].ToString();
							}
						}
					}
				}
			}
			else
			{
				datos="";
			}

			ciertoEntra[indiceEntra]=entra.ToString();
			indiceEntra++;
			
			return (datos);
		}

		public string SacaBoletinesCof(string dato)
		{
			int total=0;

			string datos="";

			entraNode=false;

			string sql="select title from channels where idchannel="+dato;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						entraNode=true;

						total=objDataSet.Tables[0].Rows.Count;
						dataNodo = new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							if (entraNode==true)
							{
								datos = objDataRow["title"].ToString();
							}
						}
					}
				}
			}
			else
			{
				datos="";
			}

			ciertoEntraNode[indiceEntraNode]=entraNode.ToString();
			indiceEntraNode++;
			
			return (datos);
		}


		public virtual string RenderListInterna( string		sql, 
			string[]	dataTypes, 
			int[]			indexes, 
			bool			group, 
			bool			showTotal, 
			int				keyMultiweb,
			RenderDelegate	dlgRenderHeader )
		{
			string dato="";
			string datocolumna="";
			string datonodo="";
			string datonode="";
			int[] totals = new int[indexes.Length]; //por defecto, serán 0

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						int idx = 0;

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-4)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocolumna=this.SacaNoticiaCof(dato);
								}
							}
						}

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-1)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datonode=this.SacaBoletinesCof(dato);
								}
							}
						}
                                                 ....

							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{			
								b.Append("<td class=\"row" + letter + "\" ");

								if (i==dataTypes.Length-4)
								{
									if ((String.Equals(ciertoEntra[0],"True")==true) || (String.Equals(ciertoEntra[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datocolumna);
										b.Append("' ");
										f++;
									}
								}

								if (i==dataTypes.Length-3)
								{
									if ((String.Equals(ciertoEntraNodo[0],"True")==true) || (String.Equals(ciertoEntraNodo[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datonodo);
										b.Append("' ");
										g++;
									}
								}

								if (i==dataTypes.Length-1)
								{
									if ((String.Equals(ciertoEntraNode[0],"True")==true) || (String.Equals(ciertoEntraNode[0],"true")==true))
									{
										b.Append("title='");
										b.Append(datonode);
										b.Append("' ");
										o++;
									}
								}
}

// Aquí el otro procedimiento

		public virtual string RenderListInterna1( string		sql, 
			string[]	dataTypes, 
			int[]			indexes, 
			bool			group, 
			bool			showTotal, 
			int				keyMultiweb,
			RenderDelegate	dlgRenderHeader )
		{
			StringBuilder b = new StringBuilder();

			//preparo los totales, si es necesario
			int[] totals = new int[indexes.Length]; //por defecto, serán 0

			string dato="";
			string datocolumna="";
			string datocol="";
			string datonodo="";
			string[] DatosSacados;
			string[] DatosExtraidos;
			string[] DatosSalidos;
			string[] EntraCierto;
			string[] EntraNodoCierto;
			string[] EntraNodeCierto;
			int total=0;

			int f = 0;

			int g = 0;

			int j = 0;

			int h = 0;

			int o = 0;

			int r = 0;

			int indicePrimero=0;
			int indiceSegundo=0;
			int indiceTercero=0;

			DataSet objDataSet = DataHelper.ExecuteDataset(this.strConnectionString,CommandType.Text,sql);

			if ( objDataSet != null )
			{
				if ( objDataSet.Tables.Count > 0 )
				{
					if ( objDataSet.Tables[0].Rows.Count > 0 )
					{
						total=objDataSet.Tables[0].Rows.Count;
						DatosSacados=new string[total];
						DatosExtraidos=new string[total];
						DatosSalidos=new string[total];
						EntraCierto=new string[total];
						EntraNodoCierto=new string[total];
						EntraNodeCierto=new string[total];

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-4)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocolumna=this.SacaNoticiaCof(dato);
									DatosSacados[f]=datocolumna;
									f++;
								}
							}
						} 

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							for ( int i = 1; i <= dataTypes.Length-1; i++ )
							{
								if (i==dataTypes.Length-1)
								{
									dato=this.GetDataValue(objDataRow, indexes[i], dataTypes[i], keyMultiweb);
									datocol=this.SacaBoletinesCof(dato);
									DatosSalidos[o]=datocol;
									o++;
								}
							}
						} 

					for (int l=1;l<EntraCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntra[l],"")!=true) || (String.Equals(ciertoEntra[l],null)!=true))
						{
							EntraCierto[l-1]=ciertoEntra[l];
						}
					}

					for (int l=1;l<EntraNodoCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntraNodo[l],"")!=true) || (String.Equals(ciertoEntraNodo[l],null)!=true))
						{
							EntraNodoCierto[l-1]=ciertoEntraNodo[l];
						}
					}

					for (int l=1;l<EntraNodeCierto.Length;l++)
					{
						if ((String.Equals(ciertoEntraNode[l],"")!=true) || (String.Equals(ciertoEntraNode[l],null)!=true))
						{
							EntraNodeCierto[l-1]=ciertoEntraNode[l];
						}
					}

					int idx = 1;

						foreach ( DataRow objDataRow in objDataSet.Tables[0].Rows )
						{
							int contador=0;
							string letter = idx % 2 == 0 ? "B" : "A";

							b.Append("<tr class=\"tbrs\">\n");
							b.Append("	<td class=\"tbrshead\">"+this.GetDataValue(objDataRow, indexes[0], dataTypes[0], keyMultiweb)+"</td>\n");
							
							for ( int i =1; i <= dataTypes.Length-1; i++ )
							{			
								b.Append("<td class=\"row" + letter + "\" ");

								if (i==dataTypes.Length-4)
								{
									if ((String.Equals(EntraCierto[indicePrimero],"True")==true) || (String.Equals(EntraCierto[indicePrimero],"true")==true))
									//if (entra==true)
									{
										b.Append("title='");
										b.Append(DatosSacados[indicePrimero]);
										b.Append("' ");
										j++;
									} 
									indicePrimero++;
								}

								if (i==dataTypes.Length-3)
								{
									if ((String.Equals(EntraNodoCierto[indiceSegundo],"True")==true) || (String.Equals(EntraNodoCierto[indiceSegundo],"true")==true))
									//if (entraNodo==true)
									{
										b.Append("title='");
										b.Append(DatosExtraidos[indiceSegundo]);
										b.Append("' ");
										h++;
									}
									indiceSegundo++;
								}

								if (i==dataTypes.Length-1)
								{
									if ((String.Equals(EntraNodeCierto[indiceTercero],"True")==true) || (String.Equals(EntraNodeCierto[indiceTercero],"true")==true))
									//if (entraNode==true)
									{
										b.Append("title='");
										b.Append(DatosSalidos[indiceTercero]);
										b.Append("' ");
										r++;
									}
									indiceTercero++;
								} 
}
Yo ya no sé qué puede ser. Si encontráis algo, os lo agradeceré, porque realmente ya no sé qué puede ser...

Muchas gracias y un saludo.