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:
Yo ya no sé qué puede ser. Si encontráis algo, os lo agradeceré, porque realmente ya no sé qué puede ser...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++; } }
Muchas gracias y un saludo.