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

Hay ocasiones en que se necesitan eliminar duplicados de nuestras tablas en la base de datos, un método sencillo para ubicarlos puede ser por ejemplo este query:

SELECT isourceid, isourcekind, iresourceId, COUNT(*) as repeticiones
INTO tabtemp
FROM relSRight
GROUP BY isourceid, isourcekind, iresourceId
HAVING COUNT(*) > 1

Con este query insertamos en una tabla temporal (tabtemp) los registros que están duplicados y la cantidad de repeticiones del mismo.

Ahora, lo que haremos es un cursor que irá analizando registro a registro de nuestra tabla temporal y eliminará los registros duplicados para cada conjunto, pero siempre dejando al menos un registro, es decir, si se encuentran 2 repeticiones de un registro borrará solamente una, si se encuentran 4 repeticiones del mismo borrará 3, y así sucesivamente.

DECLARE @isourceid int, @isourcekind int,@iresourceId int, @repeticiones int;
DECLARE @sqlexec varchar(200)
DECLARE dup_cursor
CURSOR FOR
SELECT isourceid, isourcekind, iresourceId, repeticiones
FROM tabtemp
OPEN dup_cursor;
FETCH NEXT FROM dup_cursor INTO @isourceid, @isourcekind, @iresourceId, @repeticiones;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sqlexec = ‘ set rowcount ‘ + CAST( (@repeticiones – 1) AS VARCHAR(3)) +
‘ delete from relSright where isourceid = ‘ + CAST(  @isourceid AS VARCHAR(10)) +
‘ and isourcekind = ‘ + CAST(  @isourcekind  AS VARCHAR(10)) +
‘ and iresourceId = ‘ +  CAST(@iresourceId AS VARCHAR(10))
EXEC(@sqlexec)
FETCH NEXT FROM dup_cursor INTO @isourceid, @isourcekind, @iresourceId, @repeticiones;
END
CLOSE dup_cursor;
DEALLOCATE dup_cursor;

 

Y con esto tenemos eliminados todas las repeticiones de nuestros registros en una tabla.

 

Espero sea de ayuda.

 

Saludos.

En ocasiones se necesita hacer un copiado de información de un TextBox a otro en ASP .NET, pero sin necesidad de que se haga un llamado al servidor (AutPost), por ejemplo, tuve la necesidad de hacer una operación entre 2 textbox y mostrarlo en otro que estuviera deshabilitado, entonces buscando un poco encontré esto y lo ajusté a mi proyecto.

Tu aspx debe de contener los 3 Textbox

<asp:TextBox ID=”txtSacos” runat=”server” onkeyup=”Operacion();”></asp:TextBox>

<asp:TextBox ID=”txtBolsas” runat=”server” onkeyup=”Operacion();”></asp:TextBox>

<asp:TextBox ID=”txtResultado” runat=”server”></asp:TextBox>

y en la cabecera el código JavaScript

<head>

<title></title>

<script type=”text/javascript”>

function Operacion() {

var sacos = document.getElementById(‘<%= txtSacos.ClientID %>’).value;

var bolsas = document.getElementById(‘<%= txtBolsas.ClientID %>’).value;

if (sacos != && bolsas != )

document.getElementById(‘<%= txtResultado.ClientID %>’).value = bolsas + sacos;

}

</script>

</head>

Y eso es todo

Espero sea de ayuda

saludos