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.