DECLARE @tablas TABLE(tableName nvarchar(100))
INSERT INTO @tablas
SELECT t.TABLE_SCHEMA+ '.'+t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES T
DECLARE @loopCounter INT
SELECT @loopCounter = 0
SELECT @loopCounter = COUNT(*) FROM INFORMATION_SCHEMA.TABLES
WHILE @loopCounter>0
BEGIN
SELECT TOP 1 @tableName = tableName FROM @tablas
DECLARE @sql NVARCHAR(500) = ''
SET @sql = @sql +'Truncate table '+ @tableName
EXECUTE (@sql)
SELECT @sql
SET @loopCounter = @loopCounter-1
DELETE TOP (1) @tablas
END
Friday, 9 February 2018
Truncate Database All Table In SqlServer
Wednesday, 31 January 2018
Return Newly Inserted Row In Sql Server
CREATE TABLE #TT
(
ID uniqueidentifier NOT NULL
DEFAULT newID(),
name varchar(20),
AreaCode INT
)
INSERT INTO #TT
(
Name,
AreaCode
)
OUTPUT INSERTED.ID,
INSERTED.Name,
INSERTED.AreaCode
SELECT 'SS',
1
UNION ALL
SELECT 'SS1',
2
DROP TABLE #TT
(
ID uniqueidentifier NOT NULL
DEFAULT newID(),
name varchar(20),
AreaCode INT
)
INSERT INTO #TT
(
Name,
AreaCode
)
OUTPUT INSERTED.ID,
INSERTED.Name,
INSERTED.AreaCode
SELECT 'SS',
1
UNION ALL
SELECT 'SS1',
2
DROP TABLE #TT
Recompile All Table, Stored Procedures and Function In SQL Server
CREATE PROCEDURE [dbo].[spEXECsp_RECOMPILE]
AS
BEGIN
DECLARE @TableName varchar(128)
DECLARE @OwnerName varchar(128)
DECLARE @CMD1 varchar(8000)
DECLARE @TableListLoop int
DECLARE @TableListTable table
(
UIDTableList int IDENTITY(1, 1),
OwnerName varchar(128),
TableName varchar(128)
)
INSERT INTO @TableListTable
(
OwnerName,
TableName
)
SELECT u.[Name],
o.[Name]
FROM sys.objects o
INNER JOIN sys.schemas u
ON o.schema_id = u.schema_id
WHERE o.type IN ( 'U', -- table
'P', -- stored procedures
'FN' -- scalar functions
)
ORDER BY u.[Name],
o.[Name]
SELECT @TableListLoop = MAX(UIDTableList)
FROM @TableListTable
WHILE @TableListLoop > 0
BEGIN
SELECT @TableName = TableName,
@OwnerName = OwnerName
FROM @TableListTable
WHERE UIDTableList = @TableListLoop
SELECT @CMD1 = 'EXEC sp_recompile ' + '[' + @OwnerName + '.' + @TableName + ']' + char(13)
--PRINT @CMD1
EXECUTE (@CMD1)
SELECT @TableListLoop = @TableListLoop - 1
END
SELECT *
FROM @TableListTable
SET NOCOUNT OFF
END
------------------------------------------------------
--To run used
EXECUTE [dbo].spEXECsp_RECOMPILE
AS
BEGIN
DECLARE @TableName varchar(128)
DECLARE @OwnerName varchar(128)
DECLARE @CMD1 varchar(8000)
DECLARE @TableListLoop int
DECLARE @TableListTable table
(
UIDTableList int IDENTITY(1, 1),
OwnerName varchar(128),
TableName varchar(128)
)
INSERT INTO @TableListTable
(
OwnerName,
TableName
)
SELECT u.[Name],
o.[Name]
FROM sys.objects o
INNER JOIN sys.schemas u
ON o.schema_id = u.schema_id
WHERE o.type IN ( 'U', -- table
'P', -- stored procedures
'FN' -- scalar functions
)
ORDER BY u.[Name],
o.[Name]
SELECT @TableListLoop = MAX(UIDTableList)
FROM @TableListTable
WHILE @TableListLoop > 0
BEGIN
SELECT @TableName = TableName,
@OwnerName = OwnerName
FROM @TableListTable
WHERE UIDTableList = @TableListLoop
SELECT @CMD1 = 'EXEC sp_recompile ' + '[' + @OwnerName + '.' + @TableName + ']' + char(13)
--PRINT @CMD1
EXECUTE (@CMD1)
SELECT @TableListLoop = @TableListLoop - 1
END
SELECT *
FROM @TableListTable
SET NOCOUNT OFF
END
------------------------------------------------------
--To run used
EXECUTE [dbo].spEXECsp_RECOMPILE
Thursday, 25 January 2018
Custom serial number key generator in C# .NET
Create one class named RandomSNKGenerator
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AppCode
{
public enum SNKeyLength
{
SN16 = 16, SN20 = 20, SN24 = 24, SN28 = 28, SN32 = 32
}
/// <summary>
/// Supports Only 12 Digit
/// </summary>
/// <summary>
/// Supports Only 12 Digit
/// </summary>
public enum SNKeyNumLength
{
SN4 = 4, SN8 = 8, SN12 = 12
}
public static class RandomSNKGenerator
{
private static string AppendSpecifiedStr(int length, string str, char[] newKey)
{
string
newKeyStr = "";
int k = 0;
for (int i = 0; i < length; i++)
{
for(k = i; k < 4 + i; k++)
{
newKeyStr += newKey[k];
}
if (k == length)
{
break;
}
else
{
i = (k) - 1;
newKeyStr += str;
}
}
return newKeyStr;
}
public static string GetSerialKeyAlphaNumaric(SNKeyLength keyLength)
{
Guid newguid = Guid.NewGuid();
string randomStr = newguid.ToString("N");
string tracStr = randomStr.Substring(0,(int)keyLength);
tracStr = tracStr.ToUpper();
char[] newKey = tracStr.ToCharArray();
string newSerialNumber = "";
switch (keyLength)
{
case SNKeyLength.SN16:newSerialNumber = AppendSpecifiedStr(16, "-", newKey);
break;
case SNKeyLength.SN20: newSerialNumber = AppendSpecifiedStr(20, "-", newKey);
break;
case SNKeyLength.SN24: newSerialNumber = AppendSpecifiedStr(24, "-", newKey);
break;
case SNKeyLength.SN28: newSerialNumber = AppendSpecifiedStr(28, "-", newKey);
break;
case SNKeyLength.SN32: newSerialNumber = AppendSpecifiedStr(32, "-", newKey);
break;
}
return newSerialNumber;
}
public static string GetSerialKeyNumaric(SNKeyNumLength keyLength)
{
Random rn = new Random();
double sd = Math.Round(rn.NextDouble() * Math.Pow(10, (int)keyLength) + 4);
return sd.ToString().Substring(0, (int)keyLength);
}
}
}
------------------------------------------------------------
string serialNumber = RandomSNKGenerator.GetSerialKeyAlphaNumaric(SNKeyLength.SN16);
or if you want to generate random number only :
string serialNumberNumberOnly = RandomSNKGenerator.GetSerialKeyNumaric(SNKeyNumLength.SN12);
string serialNumber = AppCode.RandomSNKGenerator.GetSerialKeyAlphaNumaric(SNKeyLength.SN20);
Tuesday, 16 January 2018
Add a datarow in datatable at specified index
DataTable existingDataTable = GetMeDataFromSomeWhere();
//Add a new row to table
DataRow newRow = existingDataTable.NewRow();
newRow["ID"] = 999;
newRow["SomeColumn"] = "Manas Bhardwaj";
existingDataTable.Rows.Add(newRow);
//OR If nedd row add in a specific row
existingDataTable.Rows.InsertAt(dr, 0);
//Add a new row to table
DataRow newRow = existingDataTable.NewRow();
newRow["ID"] = 999;
newRow["SomeColumn"] = "Manas Bhardwaj";
existingDataTable.Rows.Add(newRow);
//OR If nedd row add in a specific row
existingDataTable.Rows.InsertAt(dr, 0);
Tuesday, 12 December 2017
Indian Currency To Words In Sql Server
CREATE FUNCTION [dbo].[GetNumberToWords] (@intNumberValue INTEGER)
RETURNS VARCHAR(2000)
AS
BEGIN
DECLARE @strNumberString VARCHAR(9)
DECLARE @strReturn VARCHAR(2000)
DECLARE @intUnits SMALLINT
-- Alter table of number groups
DECLARE @tblNumberGroups TABLE
(
Units SMALLINT,
Hundreds SMALLINT,
Tens SMALLINT
)
-- Handle errors and 'quick wins'
IF @intNumberValue IS NULL
RETURN NULL
IF ISNUMERIC(@intNumberValue) = 0
RETURN NULL
IF @intNumberValue = 0
RETURN 'ZERO'
IF @intNumberValue < 0
BEGIN
SET @strReturn = 'MINUS '
SET @intNumberValue = ABS(@intNumberValue)
END
SET @intUnits = 0
-- Populate table of number groups
WHILE (@intNumberValue % 1000) > 0 OR (@intNumberValue / 1000) > 0
BEGIN
INSERT INTO @tblNumberGroups
(
Units,
Hundreds,
Tens
)
VALUES
(@intUnits, (@intNumberValue % 1000) / 100, (@intNumberValue % 1000) % 100)
SELECT @intNumberValue = CAST(@intNumberValue / 1000 AS INTEGER)
SET @intUnits = @intUnits + 1
END
-- Remove last unit added
SET @intUnits = @intUnits - 1
-- Concatenate text number by reading number groups in reverse order
SELECT @strReturn
= ISNULL(@strReturn, ' ')
+ ISNULL(
ISNULL((CASE Hundreds
WHEN 1 THEN
'ONE HUNDRED '
WHEN 2 THEN
'TWO HUNDRED '
WHEN 3 THEN
'THREE HUNDRED '
WHEN 4 THEN
'FOUR HUNDRED '
WHEN 5 THEN
'FIVE HUNDRED '
WHEN 6 THEN
'SIX HUNDRED '
WHEN 7 THEN
'SEVEN HUNDRED '
WHEN 8 THEN
'EIGHT HUNDRED '
WHEN 9 THEN
'NINE HUNDRED '
END
),
' '
) + CASE
WHEN (
Hundreds > 0
OR Units < @intUnits
)
AND Tens > 0 THEN
' AND '
ELSE
' '
END + ISNULL( (CASE Tens / 10
WHEN 2 THEN
'TWENTY '
WHEN 3 THEN
'THIRTY '
WHEN 4 THEN
'FORTY '
WHEN 5 THEN
'FIFTY '
WHEN 6 THEN
'SIXTY '
WHEN 7 THEN
'SEVENTY '
WHEN 8 THEN
'EIGHTY '
WHEN 9 THEN
'NINETY '
END
),
' '
) + ISNULL( (CASE Tens
WHEN 10 THEN
'TEN '
WHEN 11 THEN
'ELEVEN '
WHEN 12 THEN
'TWELVE '
WHEN 13 THEN
'THIRTEEN '
WHEN 14 THEN
'FOURTEEN '
WHEN 15 THEN
'FIFTEEN '
WHEN 16 THEN
'SIXTEEN '
WHEN 17 THEN
'SEVENTEEN '
WHEN 18 THEN
'EIGHTEEN '
WHEN 19 THEN
'NINETEEN '
END
),
' '
)
+ COALESCE(
CASE
WHEN Tens % 10 = 1
AND Tens / 10 <> 1 THEN
'ONE '
END,
CASE
WHEN Tens % 10 = 2
AND Tens / 10 <> 1 THEN
'TWO '
END,
CASE
WHEN Tens % 10 = 3
AND Tens / 10 <> 1 THEN
'THREE '
END,
CASE
WHEN Tens % 10 = 4
AND Tens / 10 <> 1 THEN
'FOUR '
END,
CASE
WHEN Tens % 10 = 5
AND Tens / 10 <> 1 THEN
'FIVE '
END,
CASE
WHEN Tens % 10 = 6
AND Tens / 10 <> 1 THEN
'SIX '
END,
CASE
WHEN Tens % 10 = 7
AND Tens / 10 <> 1 THEN
'SEVEN '
END,
CASE
WHEN Tens % 10 = 8
AND Tens / 10 <> 1 THEN
'EIGHT '
END,
CASE
WHEN Tens % 10 = 9
AND Tens / 10 <> 1 THEN
'NINE '
END, ' '
)
+ COALESCE(
CASE
WHEN Units = 1
AND (
Hundreds > 0
OR Tens > 0
) THEN
'THOUSAND '
END,
CASE
WHEN Units = 2
AND (
Hundreds > 0
OR Tens > 0
) THEN
'MILLION '
END,
CASE
WHEN Units = 3
AND (
Hundreds > 0
OR Tens > 0
) THEN
'BILLION '
END,
CASE
WHEN Units = 4
AND (
Hundreds > 0
OR Tens > 0
) THEN
'TRILLION '
END, ' '),
' '
)
FROM @tblNumberGroups
ORDER BY units DESC
-- Get rid of all the spaces
WHILE CHARINDEX(' ', @strReturn) > 0
BEGIN
SET @strReturn = REPLACE(@strReturn, ' ', ' ')
END
SET @strReturn = LTRIM(RTRIM(@strReturn))
RETURN @strReturn
END
GO
----------------------------------********************************----------------------------------------
CREATE FUNCTION [dbo].[GetNumericToRupees] (@RUPEES AS DECIMAL(30, 2))
RETURNS VARCHAR(2000)
AS
BEGIN
DECLARE @INNTBL_01 TABLE
(
RECNO INT IDENTITY(1, 1),
MTEXT NVARCHAR(50)
)
DECLARE @INNTBL_02 TABLE
(
RECNO INT IDENTITY(1, 1),
MTEXT NVARCHAR(50)
)
DECLARE @AMOUNT NUMERIC(38, 0)
DECLARE @PAISE AS INT
SET @AMOUNT = FLOOR(@RUPEES)
SET @PAISE = CAST(CONVERT(DECIMAL(10, 0), (@RUPEES % 1) * 100) AS INT)
--STEP 2:
--NOW ADD UP THE SALT AND PEPPER ONTO TABLE I.E. INSERT THE WORDS INTO IT
INSERT INTO @INNTBL_01
SELECT 'One '
INSERT INTO @INNTBL_01
SELECT 'Two '
INSERT INTO @INNTBL_01
SELECT 'Three '
INSERT INTO @INNTBL_01
SELECT 'Four '
INSERT INTO @INNTBL_01
SELECT 'Five '
INSERT INTO @INNTBL_01
SELECT 'Six '
INSERT INTO @INNTBL_01
SELECT 'Seven '
INSERT INTO @INNTBL_01
SELECT 'Eight '
INSERT INTO @INNTBL_01
SELECT 'Nine '
INSERT INTO @INNTBL_01
SELECT 'Ten '
INSERT INTO @INNTBL_01
SELECT 'Eleven '
INSERT INTO @INNTBL_01
SELECT 'Twelve '
INSERT INTO @INNTBL_01
SELECT 'Thirteen '
INSERT INTO @INNTBL_01
SELECT 'Fourteen '
INSERT INTO @INNTBL_01
SELECT 'Fifteen '
INSERT INTO @INNTBL_01
SELECT 'Sixteen '
INSERT INTO @INNTBL_01
SELECT 'Seventeen '
INSERT INTO @INNTBL_01
SELECT 'Eighteen '
INSERT INTO @INNTBL_01
SELECT 'Nineteen '
INSERT INTO @INNTBL_01
SELECT 'Twenty '
-- SIMILARY, INSERT THE MULTIPLES
INSERT INTO @INNTBL_02
SELECT 'Ten '
INSERT INTO @INNTBL_02
SELECT 'Twenty '
INSERT INTO @INNTBL_02
SELECT 'Thirty '
INSERT INTO @INNTBL_02
SELECT 'Forty '
INSERT INTO @INNTBL_02
SELECT 'Fifty '
INSERT INTO @INNTBL_02
SELECT 'Sixty '
INSERT INTO @INNTBL_02
SELECT 'Seventy '
INSERT INTO @INNTBL_02
SELECT 'Eighty '
INSERT INTO @INNTBL_02
SELECT 'Ninety '
--STEP 3:
----CHECK FOR THE LIMIT OF THE AMOUNT I.E. WHAT IS THE PLACE VALUE OF DIGITS -- LACS, THOUSANDS OR HUNDREDS
DECLARE @WORD VARCHAR(2000)
SELECT @WORD = ''
DECLARE @M_AMT01 BigInt,
@M_AMT02 BigInt
IF @AMOUNT >= 10000000
BEGIN
SET @M_AMT01 = @AMOUNT
SELECT @AMOUNT = (@AMOUNT % 10000000)
SET @M_AMT01 = (@M_AMT01 - @AMOUNT) / 10000000
DECLARE @WORD1 VARCHAR(300)
SET @WORD1 = ''
IF @M_AMT01 <= 20
AND @M_AMT01 <> 0
BEGIN
SET @WORD1 =
(
SELECT @WORD1 + MTEXT FROM @INNTBL_01 WHERE RECNO = @M_AMT01
)
END
SET @WORD = dbo.GetNumberToWords(@M_AMT01) + ' Crore '
END
IF @AMOUNT < 10000000
AND @AMOUNT >= 100000
BEGIN
SET @M_AMT01 = @AMOUNT
SELECT @AMOUNT = (@AMOUNT % 100000)
SET @M_AMT01 = (@M_AMT01 - @AMOUNT) / 100000
SET @WORD1 = ''
IF @M_AMT01 < 100
AND @M_AMT01 > 20
BEGIN
SET @M_AMT02 = @M_AMT01
SET @M_AMT01 = (@M_AMT01 % 10)
SET @M_AMT02 = (@M_AMT02 - @M_AMT01) / 10
SET @WORD1 =
(
SELECT @WORD1 + MTEXT FROM @INNTBL_02 WHERE RECNO = @M_AMT02
)
END
IF @M_AMT01 <= 20
AND @M_AMT01 <> 0
BEGIN
SET @WORD1 =
(
SELECT @WORD1 + MTEXT FROM @INNTBL_01 WHERE RECNO = @M_AMT01
)
END
SET @WORD = @WORD + @WORD1 + 'Lakh '
END
IF @AMOUNT < 100000
AND @AMOUNT >= 1000
BEGIN
SET @M_AMT01 = @AMOUNT
SET @AMOUNT = (@AMOUNT % 1000)
SET @M_AMT01 = (@M_AMT01 - @AMOUNT) / 1000
SET @WORD1 = ''
IF @M_AMT01 < 100
AND @M_AMT01 > 20
BEGIN
SET @M_AMT02 = @M_AMT01
SET @M_AMT01 = (@M_AMT01 % 10)
SET @M_AMT02 = (@M_AMT02 - @M_AMT01) / 10
SET @WORD1 =
(
SELECT @WORD1 + MTEXT + '' FROM @INNTBL_02 WHERE RECNO = @M_AMT02
)
END
IF @M_AMT01 <= 20
AND @M_AMT01 <> 0
BEGIN
SET @WORD1 =
(
SELECT @WORD1 + MTEXT + '' FROM @INNTBL_01 WHERE RECNO = @M_AMT01
)
END
SET @WORD = @WORD + @WORD1 + 'Thousand '
END
IF @AMOUNT < 1000
AND @AMOUNT >= 100
BEGIN
SET @M_AMT01 = @AMOUNT
SET @AMOUNT = (@AMOUNT % 100)
SET @M_AMT01 = (@M_AMT01 - @AMOUNT) / 100
SET @WORD =
(
SELECT @WORD + ' ' + MTEXT + 'Hundred ' FROM @INNTBL_01 WHERE RECNO = @M_AMT01
)
END
IF @AMOUNT < 100
AND @AMOUNT > 20
BEGIN
SET @M_AMT01 = @AMOUNT
SET @AMOUNT = (@AMOUNT % 10)
SET @M_AMT01 = (@M_AMT01 - @AMOUNT) / 10
SET @WORD =
(
SELECT @WORD + MTEXT + '' FROM @INNTBL_02 WHERE RECNO = @M_AMT01
)
END
IF @AMOUNT <= 20
AND @AMOUNT >= 1
BEGIN
SET @WORD =
(
SELECT @WORD + MTEXT + '' FROM @INNTBL_01 WHERE RECNO = @AMOUNT
)
END
SET @WORD = @WORD + ' '
-- STEP 4:
-- CALCULATE THE PAISE ALSO.
DECLARE @WORDP VARCHAR(300)
SET @WORDP = ''
IF @PAISE <> 0
BEGIN
IF @PAISE < 100
AND @PAISE > 20
BEGIN
DECLARE @PAISE_01 VARCHAR(300)
SET @PAISE_01 = @PAISE
SET @PAISE = (@PAISE % 10)
SET @PAISE_01 = (@PAISE_01 - @PAISE) / 10
SET @WORDP =
(
SELECT @WORDP + MTEXT FROM @INNTBL_02 WHERE RECNO = @PAISE_01
)
END
IF @PAISE <= 20
AND @PAISE >= 1
BEGIN
SET @WORDP =
(
SELECT @WORDP + MTEXT FROM @INNTBL_01 WHERE RECNO = @PAISE
)
END
SET @WORD = @WORD + 'and ' + @WORDP + 'paisa'
END
IF @AMOUNT >= 1000000000
BEGIN
SET @WORD = ''
END
SELECT @WORD = REPLACE(@WORD COLLATE Latin1_General_BIN, ' ', ' ');
Return UPPER(@WORD + ' ONLY')
END
------------------------------------
Go
SELECT dbo.GetNumericToRupees(625)
Friday, 7 July 2017
Generate Class Object From SQL Table
declare @TableName sysname = 'TABLE_Name'
declare @result Nvarchar(max) = ''
select @result = @result + '
private ' + ColumnType + ' ' + ' m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ';'
from
(
select
replace(col.name, ' ', '_') ColumnName,
column_id,
case typ.name
when 'bigint' then 'long'
when 'binary' then 'byte[]'
when 'bit' then 'bool'
when 'char' then 'string'
when 'date' then 'DateTime'
when 'datetime' then 'DateTime'
when 'datetime2' then 'DateTime'
when 'datetimeoffset' then 'DateTimeOffset'
when 'decimal' then 'decimal'
when 'float' then 'float'
when 'image' then 'byte[]'
when 'int' then 'int'
when 'money' then 'decimal'
when 'nchar' then 'char'
when 'ntext' then 'string'
when 'numeric' then 'decimal'
when 'nvarchar' then 'string'
when 'real' then 'double'
when 'smalldatetime' then 'DateTime'
when 'smallint' then 'short'
when 'smallmoney' then 'decimal'
when 'text' then 'string'
when 'time' then 'TimeSpan'
when 'timestamp' then 'DateTime'
when 'tinyint' then 'byte'
when 'uniqueidentifier' then 'Guid'
when 'varbinary' then 'byte[]'
when 'varchar' then 'string'
else 'UNKNOWN_' + typ.name
end ColumnType
from sys.columns col
join sys.types typ on
col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
where object_id = object_id(@TableName)
) t
order by column_id
SET @result = @result + '
'
select @result = @result + '
public ' + ColumnType + ' ' + ColumnName + ' { get { return m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ';} set {m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ' = value;} }' from
(
select
replace(col.name, ' ', '_') ColumnName,
column_id,
case typ.name
when 'bigint' then 'long'
when 'binary' then 'byte[]'
when 'bit' then 'bool'
when 'char' then 'string'
when 'date' then 'DateTime'
when 'datetime' then 'DateTime'
when 'datetime2' then 'DateTime'
when 'datetimeoffset' then 'DateTimeOffset'
when 'decimal' then 'decimal'
when 'float' then 'float'
when 'image' then 'byte[]'
when 'int' then 'int'
when 'money' then 'decimal'
when 'nchar' then 'char'
when 'ntext' then 'string'
when 'numeric' then 'decimal'
when 'nvarchar' then 'string'
when 'real' then 'double'
when 'smalldatetime' then 'DateTime'
when 'smallint' then 'short'
when 'smallmoney' then 'decimal'
when 'text' then 'string'
when 'time' then 'TimeSpan'
when 'timestamp' then 'DateTime'
when 'tinyint' then 'byte'
when 'uniqueidentifier' then 'Guid'
when 'varbinary' then 'byte[]'
when 'varchar' then 'string'
else 'UNKNOWN_' + typ.name
end ColumnType
from sys.columns col
join sys.types typ on
col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
where object_id = object_id(@TableName)
) t
order by column_id
SELECT CONVERT(NTEXT,@result)
declare @result Nvarchar(max) = ''
select @result = @result + '
private ' + ColumnType + ' ' + ' m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ';'
from
(
select
replace(col.name, ' ', '_') ColumnName,
column_id,
case typ.name
when 'bigint' then 'long'
when 'binary' then 'byte[]'
when 'bit' then 'bool'
when 'char' then 'string'
when 'date' then 'DateTime'
when 'datetime' then 'DateTime'
when 'datetime2' then 'DateTime'
when 'datetimeoffset' then 'DateTimeOffset'
when 'decimal' then 'decimal'
when 'float' then 'float'
when 'image' then 'byte[]'
when 'int' then 'int'
when 'money' then 'decimal'
when 'nchar' then 'char'
when 'ntext' then 'string'
when 'numeric' then 'decimal'
when 'nvarchar' then 'string'
when 'real' then 'double'
when 'smalldatetime' then 'DateTime'
when 'smallint' then 'short'
when 'smallmoney' then 'decimal'
when 'text' then 'string'
when 'time' then 'TimeSpan'
when 'timestamp' then 'DateTime'
when 'tinyint' then 'byte'
when 'uniqueidentifier' then 'Guid'
when 'varbinary' then 'byte[]'
when 'varchar' then 'string'
else 'UNKNOWN_' + typ.name
end ColumnType
from sys.columns col
join sys.types typ on
col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
where object_id = object_id(@TableName)
) t
order by column_id
SET @result = @result + '
'
select @result = @result + '
public ' + ColumnType + ' ' + ColumnName + ' { get { return m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ';} set {m_' + stuff(replace(ColumnName, '_', ''), 1, 1, lower(left(ColumnName, 1))) + ' = value;} }' from
(
select
replace(col.name, ' ', '_') ColumnName,
column_id,
case typ.name
when 'bigint' then 'long'
when 'binary' then 'byte[]'
when 'bit' then 'bool'
when 'char' then 'string'
when 'date' then 'DateTime'
when 'datetime' then 'DateTime'
when 'datetime2' then 'DateTime'
when 'datetimeoffset' then 'DateTimeOffset'
when 'decimal' then 'decimal'
when 'float' then 'float'
when 'image' then 'byte[]'
when 'int' then 'int'
when 'money' then 'decimal'
when 'nchar' then 'char'
when 'ntext' then 'string'
when 'numeric' then 'decimal'
when 'nvarchar' then 'string'
when 'real' then 'double'
when 'smalldatetime' then 'DateTime'
when 'smallint' then 'short'
when 'smallmoney' then 'decimal'
when 'text' then 'string'
when 'time' then 'TimeSpan'
when 'timestamp' then 'DateTime'
when 'tinyint' then 'byte'
when 'uniqueidentifier' then 'Guid'
when 'varbinary' then 'byte[]'
when 'varchar' then 'string'
else 'UNKNOWN_' + typ.name
end ColumnType
from sys.columns col
join sys.types typ on
col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
where object_id = object_id(@TableName)
) t
order by column_id
SELECT CONVERT(NTEXT,@result)
Subscribe to:
Posts (Atom)
Get all non-clustered indexes
DECLARE cIX CURSOR FOR SELECT OBJECT_NAME(SI.Object_ID), SI.Object_ID, SI.Name, SI.Index_ID FROM Sys.Indexes SI ...
-
In C# using System; using System.Collections.Generic; using System.Linq; using System.Web; public class encode_decode { public ...
-
Create one class named RandomSNKGenerator using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
-
Design page ------------ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inheri...