banco de dados


Estou usando o mootools para facilitar a criação do objeto request xml.


function ajax(){
            var pagePath = window.location.pathname; 
            var opcoes =   
            {   
                 "method":"post",   
                 "data": "{}",   
                 "urlEncoded": "false",
                 "headers": {
                                "Content-Type": "application/json; charset=utf-8"
                            }, 
                 "onComplete": completou   
            };   
            var ajaxObj = new Ajax(pagePath + "/testeAjax", opcoes).request(); 
}

function completou(result){
    var obj = Json.evaluate(result);
    alert(obj.d); // se tiver usando .net framework >= 3.5
    alert(obj);  // qualquer outro .net framework 
}

O que o pagepath faz?
Apenas pega o conteudo da url e concatena com o nome do pagemethod que foi implementado no code-behind.
Ex.:

http://localhost/default.aspx = default.aspx/testeAjax

No code behind:

        [WebMethod()]
        public static string  testeAjax()
        {
            return "teste";
        }
Anúncios

Como concatenar valores nulos? Quando você tentar concatenar dois valores e um deles é nulo, a resposta será nulo. Porém tem um jeito de fazer isso funcionar basta usar o isnull ou coalesce.


DECLARE @var1 VARCHAR(50)    
DECLARE @var2 VARCHAR(50)     
SELECT @var1 ='Test'     
SELECT @var1 + @var2 -- NULL

O output será Null, então fazemos:


DECLARE @var1 VARCHAR(50)    
DECLARE @var2 VARCHAR(50)     
SELECT @var1 ='Test'    
SELECT @var1 + ISNULL(@var2,'' )     
SELECT @var1 + COALESCE(@var2,'' )

No SQL Server basta apenas executar esse comando.



SELECT tc.TABLE_NAME AS PrimaryKeyTable, tc.CONSTRAINT_NAME AS PrimaryKey, 
           COALESCE(rc1.CONSTRAINT_NAME, 'N/A' ) AS ForeignKey , 
           COALESCE(tc2.TABLE_NAME, 'N/A' ) AS ForeignKeyTable FROM
           INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc LEFT JOIN
           INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1 ON 
           tc.CONSTRAINT_NAME = rc1.UNIQUE_CONSTRAINT_NAME LEFT JOIN
           INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON 
           tc2.CONSTRAINT_NAME = rc1.CONSTRAINT_NAME 
           WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' 
           ORDER BY tc.TABLE_NAME,tc.CONSTRAINT_NAME,rc1.CONSTRAINT_NAME



Acabei de ler em um blog um post que me agradou muito, mostrando alguns dos novos recursos do sql server 2008 e cada um é melhor que o outro, teremos até intellisense!

Confira: http://angryhacker.com/blog/archive/2008/06/20/10-reasons-why-sql-server-2008-is-going-to-rock.aspx

A Microsoft liberou a Release Candidate 0 do SQL Server 2008, para quem se interessar só buscar no site https://connect.microsoft.com/SQLServer/content/content.aspx?ContentID=5395

http://www.quickref.org – Referência geral

http://www.w3schools.com – Site de padrões e referência

http://www.maujor.com – CSS, Tabless

http://www.koders.com – Site de busca de códigos

http://www.codefetch.com – Site de busca que procura código de livros que são gratuitamente disponibilizado pelos autores.

http://www.zamzar.com – Conversão de arquivos online, esse último que não tem muita relação com o escopo do blog mas mesmo assim é uma ótima ferramenta.

Como retornar o valor máximo de uma coluna e seus respectivos valores.

Exemplo:

 

CREATE TABLE #MaxVal(id INT,VALUE INT,OtherCol CHAR(1));
    INSERT #MaxVal VALUES(1,1,'A');
    INSERT #MaxVal VALUES(1,2,'A');
    INSERT #MaxVal VALUES(1,3,'Z');
    INSERT #MaxVal VALUES(2,1,'A');
    INSERT #MaxVal VALUES(2,2,'X');
    INSERT #MaxVal VALUES(2,3,'A');
    INSERT #MaxVal VALUES(3,1,'A');
    INSERT #MaxVal VALUES(3,2,'Y');

Se você está interessado apenas no ID e o valor máximo da coluna é muito facil.

SELECT id,MAX(VALUE) AS VALUE    
FROM #MaxVal    
GROUP BY id;

OUTPUT:

ID|Value
-------------
1|3
2|3
3|2

Se voce precisa de toda a linha, precisaremos fazer um sub-select.

SELECT t.* FROM(    
SELECT id,MAX(VALUE) AS MaxValue    
FROM #MaxVal    
GROUP BY id) x    
JOIN #MaxVal t ON x.id =t.id    
AND x.MaxValue =t.VALUE

OUTPUT:

ID|Value|OtherCol
----------------------
3|2|Y
2|3|A
1|3|Z

Próxima Página »