Mientras buscaba la forma mas rápida de contar la cantidad de registros/líneas/renglones en un archivo de texto de aproximadamente 3GB, esto fue lo que me ayudó:

Utilizando Python para leer un archivo de aproximadamente 20 millones de líneas solamente tomó 4 segundos.

from itertools import (takewhile,repeat)

def rawincount(filename):
    f = open(filename, 'rb')
    bufgen = takewhile(lambda x: x, (f.raw.read(1024*1024) for _ in repeat(None)))
    return sum( buf.count(b'\n') for buf in bufgen )

rawincount('c:/tmp/MiArchivo.txt')

Espero sea de ayuda

En SQL a veces es necesario poder mover una tabla (u objeto) a un esquema diferente al que fue creado.

Esto se puede hacer de la siguiente manera:

ALTER SCHEMA  tmp 
TRANSFER dbo.Estudiantes

Donde tmp es el esquema destino y dbo es el esquema actual

Espero sea de utilidad.

El siguiente query es útil cuando se necesite listar la cantidad de registros que contiene cada tabla de una base de datos, así como también la cantidad de espacio en KB

 

CREATE TABLE #RowCountsAndSizes (TableName NVARCHAR(128),rows CHAR(11),
reserved VARCHAR(18),data VARCHAR(18),index_size VARCHAR(18),
unused VARCHAR(18))

EXEC sp_MSForEachTable ‘INSERT INTO #RowCountsAndSizes EXEC sp_spaceused ”?” ‘

SELECT TableName,CONVERT(bigint,rows) AS NumberOfRows,
CONVERT(bigint,left(reserved,len(reserved)-3)) AS SizeinKB
FROM #RowCountsAndSizes
ORDER BY NumberOfRows DESC,SizeinKB DESC,TableName

DROP TABLE #RowCountsAndSizes

 

Espero sea de utilidad

Fuente: Listing all tables in a database and their row counts and sizes

 

Hace poco necesitaba generar fechas (con horas) aleatoriamente para un campo recién creado en una tabla de mySQL, y necesitaba generar fechas que estuvieran dentro de un rango determinado, encontré esta solución la cual solo necesitamos ingresar la fecha de inicio y la fecha final en formato UNIX TimeStamp, esto lo pueden hacer en la siguiente página: http://www.onlineconversion.com/unix_time.htm

SELECT FROM_UNIXTIME(ROUND((RAND() * (14648256011420070401) + 1420070401)));

El primer número es la fecha FINAL y los otros dos son la fecha INICIAL, con esto se generarán fechas aleatorias entre ese rango.

Espero sea de utilidad.

Si en algún momento necesitan extraer el valor un de parámetro dentro de una URL, esta función es lo que necesitan.
 
Solo es necesario pasar el nombre del parámetro y les regresará el valor asignado en la URL

function getURLParameter(name) {
    var result =decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
    return result;
}

Espero sea de ayuda

En los ultimos proyectos he estado utilizando esta libreria para convertir datasets de SQL en JSON … la manera para llamarla es simplemente utilizar esto:

string jsonString = ;
List<sp_CountryList_Result> CountryList = ctx.sp_CountryList(language, UserId).ToList();
jsonString = CountryList.toJSON();

 

y este es el codigo de la libreria:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;
using System.Runtime.Serialization;
using System.IO;

namespace BusinessLayer.Helpers
{

public static class JSONHelper
{

public static string toJSON(this object obj)

{

JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
return serializer.Serialize(obj);

}

public static string toJSON(this object obj, int recursionDepth)
{

JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.RecursionLimit = recursionDepth;
return serializer.Serialize(obj);

}

}

}

Cuando se necesite agregar un tooltip a un componente de Extjs solo es necesario agregar la propiedad inputAttrTpl seguida de  ” data-qtip=’mitextoeneltooltip'”

 

Ejemplo:

var textBoxCostoInd = Ext.create('Ext.form.Number', {
id: 'txtCostoInd',
name: 'txtCostoInd',
allowBlank: false,
width: 250,
labelWidth: 150,
inputAttrTpl: " data-qtip='Incluye depreciación, fletes, instalación y otros servicios, por cada pieza producida' ",
minValue: 0,
allowDecimals: true,
decimalPrecision: 2,
fieldLabel: txtCostoInd
});

Un requerimiento que me fue solicitado en un grid utilizando los componentes de Telerik (RadGrid), era de que el encabezado de ciertas columnas tuviera un color específico, la instrucción para hacer esto es muy sencilla, sólo hay que agregar al HeaderStyle la propierdad de BackColor

<HeaderStyle  BackColor=”#000000“/>

Sin embargo, al momento de mostrar el grid, el color se muestra solamente en la mitad del encabezado, y la otra mitad con el color gris que trae por default el grid.
Revisando un buen rato los foros de Telerik, encontré que la solución a este problema es agregando unas líneas de código al CSS.

div.RadGrid_Default .rgHeader,

div.RadGrid_Default th.rgResizeCol
{
background-image: none ;
}

 

Espero sea de ayuda.

Esta es una función muy útil si en algún momento necesitamos transponer los datos de un DataTable, recibe como parámetro un DataTable y devuelve otro DataTable.

private DataTable GenerateTransposedTable(DataTable inputTable)
{
     DataTable outputTable = new DataTable();

     // Se agregan las columnas haciendo un ciclo para cada fila

     // El encabezado de la primera columna es el mismo. 
     outputTable.Columns.Add(inputTable.Columns[0].ColumnName.ToString());

     // El encabezado para las demas columnas
     foreach (DataRow inRow in inputTable.Rows)
     {
         string newColName = inRow[0].ToString();
         outputTable.Columns.Add(newColName);
     }

     // Se agregan las columnas por cada renglón        
     for (int rCount = 1; rCount <= inputTable.Columns.Count - 1; rCount++)
     {
         DataRow newRow = outputTable.NewRow();

          newRow[0] = inputTable.Columns[rCount].ColumnName.ToString();
         for (int cCount = 0; cCount <= inputTable.Rows.Count - 1; cCount++)
         {
             string colValue = inputTable.Rows[cCount][rCount].ToString();
             newRow[cCount + 1] = colValue;
         }
         outputTable.Rows.Add(newRow);
     }

     return outputTable;
}

Fuente : http://www.codeproject.com/Articles/44274/Transpose-a-DataTable-using-C 

A veces se necesita buscar un valor específico dentro de una base de datos, no importando si son 1000 tablas y 100 campos en cada una. Así que buscando un poco por la red encontré este procedimiento y funciona a la perfección:

 

CREATE PROC SearchAllTables
(
    @SearchStr nvarchar(100)
)
AS
BEGIN

-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
-- Purpose: To search all columns of all tables for a given search string
-- Written by: Narayana Vyas Kondreddi

DECLARE @Results TABLE(ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET  @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

WHILE @TableName IS NOT NULL
BEGIN
    SET @ColumnName = ''
    SET @TableName =
    (
        SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
        FROM    INFORMATION_SCHEMA.TABLES
        WHERE       TABLE_TYPE = 'BASE TABLE'
            AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
            AND OBJECTPROPERTY(
                    OBJECT_ID(
                        QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
                         ), 'IsMSShipped'
                           ) = 0
    )

    WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
    BEGIN
        SET @ColumnName =
        (
            SELECT MIN(QUOTENAME(COLUMN_NAME))
            FROM    INFORMATION_SCHEMA.COLUMNS
            WHERE       TABLE_SCHEMA    = PARSENAME(@TableName, 2)
                AND TABLE_NAME  = PARSENAME(@TableName, 1)
                AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
                AND QUOTENAME(COLUMN_NAME) > @ColumnName
        )

        IF @ColumnName IS NOT NULL
        BEGIN
            INSERT INTO @Results
            EXEC
            (
                'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
                FROM ' + @TableName + ' (NOLOCK) ' +
                ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
            )
        END
    END
END

SELECT ColumnName, ColumnValue FROM @Results
END

Espero sea de ayuda

 

saludos