DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)
Wednesday, March 18, 2009
Monday, January 12, 2009
Procedure to get the record Count instead of using count(*)
sp_spaceused '' for getting the counts.
This will be faster instead of using select count(*)
This will be faster instead of using select count(*)
Wednesday, January 7, 2009
Gridview Manipulations like ADD,DELETE,UPDATE:
Gridview Operations:
http://www.pritambaldota.com/Articles/Article9.aspx
http://www.pritambaldota.com/Articles/Article9.aspx
Wednesday, December 31, 2008
Cleaning the Transaction Logs in SQL Server2005
To Back up the transaction log file :
BACKUP LOG TO DISK = ''
Eg.
BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
To Shrink the transaction log file:
DBCC SHRINKFILE (, ) WITH NO_INFOMSGS
BACKUP LOG
Eg.
BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
To Shrink the transaction log file:
DBCC SHRINKFILE (
How to clean the transaction Log in SQL Server
use master
go
dump transaction with no_log
go
use
go
DBCC SHRINKFILE (, 100) -- where 100 is the size you may want to shrink it to in MB, change it to your needs
go
-- then you can call to check that all went fine
dbcc checkdb()
(or)
To Truncate the log file:
Backup the database
Detach the database, either by using Enterprise Manager or by executing : *Sp_DetachDB [DBName]*
Delete the transaction log file. (or rename the file, just in case)
Re-attach the database again using: *Sp_AttachDB [DBName]*
When the database is attached, a new transaction log file is created.
To Shrink the log file:
Backup log [DBName] with No_Log
Shrink the database by either:
Using Enterprise manager :- Right click on the database, All tasks, Shrink database, Files, Select log file, OK.
Using T-SQL :- *Dbcc Shrinkfile ([Log_Logical_Name])*
You can find the logical name of the log file by running sp_helpdb or by looking in the properties of the database in Enterprise Manager.
go
dump transaction
go
use
go
DBCC SHRINKFILE (
go
-- then you can call to check that all went fine
dbcc checkdb(
(or)
To Truncate the log file:
Backup the database
Detach the database, either by using Enterprise Manager or by executing : *Sp_DetachDB [DBName]*
Delete the transaction log file. (or rename the file, just in case)
Re-attach the database again using: *Sp_AttachDB [DBName]*
When the database is attached, a new transaction log file is created.
To Shrink the log file:
Backup log [DBName] with No_Log
Shrink the database by either:
Using Enterprise manager :- Right click on the database, All tasks, Shrink database, Files, Select log file, OK.
Using T-SQL :- *Dbcc Shrinkfile ([Log_Logical_Name])*
You can find the logical name of the log file by running sp_helpdb or by looking in the properties of the database in Enterprise Manager.
Monday, November 24, 2008
Replace the First Charater in SQL
Query for replacing the first character only.
--select replace(left('Mahesh',1),left('Mahesh',1),'H') + right('Mahesh',len('Mahesh') - 1)
--select replace(left('Mahesh',1),left('Mahesh',1),'H') + right('Mahesh',len('Mahesh') - 1)
Thursday, October 30, 2008
Generics in .NET 2.0
What Are Generics?
Generics allow you to realize type safety at compile time. They allow you to create a data structure without committing to a specific data type. When the data structure is used, however, the compiler makes sure that the types used with it are consistent for type safety. Generics provide type safety, but without any loss of performance or code bloat. While they are similar to templates in C++ in this regard, they are very different in their implementation.
The short answer is this: "without generics, it is very difficult to create type-safe collections".
Creating Our First Generic Type:
public class Col {
T t;
public T Val{get{return t;}set{t=value;}}
}
public class ColMain {
public static void Main() {
//create a string version of our generic class
Col mystring = new Col();
//set the value
mystring.Val = "hello";
//output that value
System.Console.WriteLine(mystring.Val);
//output the value's type
System.Console.WriteLine(mystring.Val.GetType());
//create another instance of our generic class, using a different type
Col myint = new Col();
//load the value
myint.Val = 5;
//output the value
System.Console.WriteLine(myint.Val);
//output the value's type
System.Console.WriteLine(myint.Val.GetType());
}
}
When we compile the two classes above and then run them, we will see the following output:
hello
System.String
5
System.Int32
Generic Collections:
User.cs
namespace Rob {
public class User {
protected string name;
protected int age;
public string Name{get{return name;}set{name=value;}}
public int Age{get{return age;}set{age=value;}}
}
}
Main.cs
public class M {
public static void Main(string[] args) {
System.Collections.Generic.List users = new System.Collections.Generic.List();
for(int x=0;x<5;x++) {
Rob.User user = new Rob.User();
user.Name="Rob" + x;
user.Age=x;
users.Add(user);
}
foreach(Rob.User user in users) {
System.Console.WriteLine(System.String.Format("{0}:{1}", user.Name, user.Age));
}
System.Console.WriteLine("press enter");
System.Console.ReadLine();
for(int x=0;x System.Console.WriteLine(System.String.Format("{0}:{1}", users[x].Name, users[x].Age));
}
}
}
Output
Rob0:0
Rob1:1
Rob2:2
Rob3:3
Rob4:4
press enter
Rob0:0
Rob1:1
Rob2:2
Rob3:3
Rob4:4
Generics allow you to realize type safety at compile time. They allow you to create a data structure without committing to a specific data type. When the data structure is used, however, the compiler makes sure that the types used with it are consistent for type safety. Generics provide type safety, but without any loss of performance or code bloat. While they are similar to templates in C++ in this regard, they are very different in their implementation.
The short answer is this: "without generics, it is very difficult to create type-safe collections".
Creating Our First Generic Type:
public class Col
T t;
public T Val{get{return t;}set{t=value;}}
}
public class ColMain {
public static void Main() {
//create a string version of our generic class
Col
//set the value
mystring.Val = "hello";
//output that value
System.Console.WriteLine(mystring.Val);
//output the value's type
System.Console.WriteLine(mystring.Val.GetType());
//create another instance of our generic class, using a different type
Col
//load the value
myint.Val = 5;
//output the value
System.Console.WriteLine(myint.Val);
//output the value's type
System.Console.WriteLine(myint.Val.GetType());
}
}
When we compile the two classes above and then run them, we will see the following output:
hello
System.String
5
System.Int32
Generic Collections:
User.cs
namespace Rob {
public class User {
protected string name;
protected int age;
public string Name{get{return name;}set{name=value;}}
public int Age{get{return age;}set{age=value;}}
}
}
Main.cs
public class M {
public static void Main(string[] args) {
System.Collections.Generic.List
for(int x=0;x<5;x++) {
Rob.User user = new Rob.User();
user.Name="Rob" + x;
user.Age=x;
users.Add(user);
}
foreach(Rob.User user in users) {
System.Console.WriteLine(System.String.Format("{0}:{1}", user.Name, user.Age));
}
System.Console.WriteLine("press enter");
System.Console.ReadLine();
for(int x=0;x
}
}
}
Output
Rob0:0
Rob1:1
Rob2:2
Rob3:3
Rob4:4
press enter
Rob0:0
Rob1:1
Rob2:2
Rob3:3
Rob4:4
Subscribe to:
Posts (Atom)