Tuesday, September 6, 2011

Connection String .


public static string dbconn = ConfigurationManager.AppSettings["dbcon"].ToString();

public void CenterBind()
{

using (SqlConnection sqlcon = new SqlConnection(dbconn))
{
string query = "MSP_GetDivision";
SqlCommand cmd = new SqlCommand(query, sqlcon);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sqlcon.Open();
da.Fill(dt);
dpd_CenterName.DataSource = dt;
dpd_CenterName.DataTextField = "divisn";
dpd_CenterName.DataValueField = "dvcode";
sqlcon.Close();


}

Pivot Example coding.......


BEGIN TRAN
--Create the table
CREATE TABLE #Pivot
(
        ColA nvarchar(500),
        ColB nvarchar(500),
        ColC int
)

--Populate the data
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('A', 'X', 1)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('A', 'Y', 2)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('A', 'Z', 3)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('A', 'X', 4)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('A', 'Y', 5)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('B', 'Z', 6)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('B', 'X', 7)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('B', 'Y', 8)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('B', 'Z', 9)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('C', 'X', 10)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('C', 'Y', 11)
INSERT INTO #Pivot (ColA, ColB, ColC) VALUES('C', 'Z', 12)

--The data
SELECT * FROM #Pivot

--Group BY
SELECT
        ColA,
        ColB,
        SUM(ColC)
FROM
        #Pivot
GROUP BY
        ColA,
        ColB

--Manual PIVOT
SELECT
        *
FROM
        (
                SELECT
                        ColA,
                        ColB,
                        ColC
                FROM
                        #Pivot
        ) DATA
        PIVOT
        (
                SUM(DATA.ColC)
        FOR
                ColB
                IN
                (
                        [X],[Y],[Z]
                )
        ) PVT

--Dynamic PIVOT
DECLARE @columns nvarchar(max)

SELECT
        @columns =
        STUFF
        (
                (
                        SELECT DISTINCT
                                ', [' + ColB + ']'
                        FROM
                                #Pivot
                        FOR XML PATH('')
                ), 1, 1, ''
        )

EXEC
('
        SELECT
                *
        FROM
                (
                        SELECT
                                ColA,
                                ColB,
                                ColC
                        FROM
                                #Pivot
                ) DATA
                PIVOT
                (
                        SUM(DATA.ColC)
                FOR
                        ColB
                        IN
                        (
                                ' + @columns + '
                        )
                ) PVT
')

--The data again
SELECT * FROM #Pivot

ROLLBACK

Pivot table Syntax


SELECT <non-pivoted column>,

    [first pivoted column] AS <column name>,

    [second pivoted column] AS <column name>,

    ...

    [last pivoted column] AS <column name>

FROM

    (<SELECT query that produces the data>)

    AS <alias for the source query>

PIVOT

(

    <aggregation function>(<column being aggregated>)

FOR

[<column that contains the values that will become column headers>]

    IN ( [first pivoted column], [second pivoted column],

    ... [last pivoted column])

) AS <alias for the pivot table>

<optional ORDER BY clause>;

Getdate Format With 00 as Time


SELECT CONVERT(datetime, CONVERT(varchar, GETDATE(), 101))

information_schema.columns


SELECT
'target.'+ COLUMN_NAME +'=New.' + COLUMN_NAME +' ,'
COLUMN_NAME  from
 information_schema.columns
WHERE table_name = 'Transaction'

Multiple ID insert by separating Comma


CREATE TABLE #Temp (TransactionId BIGINT)
DECLARE @END INT,@START INT=1,@LoopCount INT,@Counter INT =1,@TransactionId INT ,@TransId bigint
SET
@LoopCount= LEN(@TransIds) - LEN(REPLACE(@TransIds, ',', ''))+1
--SELECT @LoopCount
WHILE
@Counter<=@LoopCount
BEGIN
SELECT @END=CHARINDEX(',',@TransIds)-1
--PRINT @START
--PRINT @END
IF @END<0
SET @TransactionId=@TransIds
ELSE
SET @TransactionId=SUBSTRING(@TransIds,@START,@END)

-- pRINT @TransactionId
SET @Counter = @Counter+1
SET @TransIds=SUBSTRING(@TransIds,@END+2,LEN(@TransIds))
--PRINT @TransIds
INSERT INTO #Temp( TransactionId ) VALUES(@TransactionId )

select @TransId=TransactionId from #Temp

select @TransId
END

Display your Age in this code........Date Of Birth

--------------------
Select * from [dbo].[AgeCalculator]('02/21/1988')--Date Of Birth--

------------------
Create  FUNCTION [dbo].[AgeCalculator]
(
@DOB datetime ='07/09/2011' --Today date or current date--
)
RETURNS
@Age TABLE
(
Year_Diff int,
AgeType varchar(10)
)
AS
BEGIN
Declare @Year_Diff int,@AgeType varchar (10),@GetDate datetime

SELECT @GetDate = GETDATE ()
SELECT @Year_Diff = DATEDIFF(year,@DOB,@GetDate)
Select @AgeType = 'Years'
IF @Year_Diff = 0

Begin
SELECT @Year_Diff = DATEDIFF(MONTH,@DOB,@GetDate)
Select @AgeType = 'Months'

If @Year_Diff = 0
begin
SELECT @Year_Diff = DATEDIFF(DAY,@DOB,@GetDate)
Select @AgeType = 'Days'
End
End

else
IF Month(@GetDate) < Month(@DOB)
Set @Year_Diff= @Year_Diff - 1

Insert into @Age
Select @Year_Diff,@AgeType
Return
END
GO