public bool EliminarDatosDescarga(ListQuerysDescarga QueryList) { SqlCeCommand cmd = new SqlCeCommand(); int I = 0; try { this.OpenConnection(); for (I = 0; I < QueryList.Count; I++) { cmd.Connection = (SqlCeConnection)this.Connection; cmd.CommandText = QueryList[I].Query; if (cmd.CommandText.StartsWith("DELETE", StringComparison.CurrentCultureIgnoreCase)) { cmd.CommandType = CommandType.Text; } cmd.ExecuteNonQuery(); } return(true); } catch { return(false); } finally { if (this.Connection.State == ConnectionState.Open) { this.CloseConnection(); } } }
public string GetSerializedData(ListQuerysDescarga QueryList, IEstadoCarga Estado) { StringBuilder sb = new StringBuilder(); SqlCeDataReader dr = null; SqlCeCommand cmd = new SqlCeCommand(); int I = 0; int J = 0; int nIndexRowCountReplace = 0; int nTableCount = 0; int nRowCount = 0; int nTotalRowsCount = 0; // Se adicionan las 2 primeras lineas con tags para poder remplazarlos al final sb.Append("TABLECOUNT: <<TABLECOUNT>>" + "\r\n"); sb.Append("TOTALROWCOUNT: <<TOTALROWCOUNT>>" + "\r\n"); nTableCount = 0; nTotalRowsCount = 0; try { this.OpenConnection(); for (I = 0; I < QueryList.Count; I++) { if (Estado.Cancelado) { break; } Estado.IniciarTabla(QueryList[I].TableName.ToUpper()); cmd.Connection = (SqlCeConnection)this.Connection; cmd.CommandText = QueryList[I].Query; if (cmd.CommandText.StartsWith("SELECT", StringComparison.CurrentCultureIgnoreCase)) { cmd.CommandType = CommandType.Text; } else { cmd.CommandType = CommandType.TableDirect; } dr = cmd.ExecuteReader(); if (dr.Read()) { nTableCount += 1; sb.Append("TABLE: " + QueryList[I].TableName + "\r\n"); nIndexRowCountReplace = sb.Length; sb.Append("ROWCOUNT: <<ROWCOUNT>> " + "\r\n"); // Se agrega una primer linea con los nombres de los campos for (J = 0; J < dr.FieldCount; J++) { sb.Append(dr.GetName(J) + "|"); } sb.Append("\r\n"); // Se agrega una segunda linea con los tipos de datos for (J = 0; J < dr.FieldCount; J++) { sb.Append(dr.GetFieldType(J).ToString() + "|"); } sb.Append("\r\n"); // Se agregan lineas con los datos de todos los registros nRowCount = 0; do { if (Estado.Cancelado) { break; } for (J = 0; J < dr.FieldCount; J++) { if (dr.IsDBNull(J)) { sb.Append("(null)|"); } else { if (dr.GetFieldType(J) == typeof(System.DateTime)) { sb.Append(dr.GetDateTime(J).ToString("yyyy/MM/dd HH:mm:ss") + "|"); } else { sb.Append(System.Convert.ToString(dr.GetValue(J)) + "|"); } } } sb.Append("\r\n"); nRowCount += 1; nTotalRowsCount += 1; } while (dr.Read()); dr.Close(); sb.Replace("<<ROWCOUNT>>", nRowCount.ToString(), nIndexRowCountReplace, 40); sb.Append("\r\n"); // Se agrega una linea adicional para delimitar los datos de la tabla } } sb.Replace("<<TABLECOUNT>>", nTableCount.ToString(), 0, 40); if (sb.Length < 60) { sb.Replace("<<TOTALROWCOUNT>>", nTotalRowsCount.ToString(), 0, sb.Length); } else { sb.Replace("<<TOTALROWCOUNT>>", nTotalRowsCount.ToString(), 0, 60); } } catch (Exception ex) { throw ex; } finally { if (this.Connection.State == ConnectionState.Open) { this.CloseConnection(); } } return(sb.ToString()); }