Wednesday, May 14, 2014

Add support for the scroll wheel to the Microsoft Visual Basic for Applications 6 environment

The Classic VB IDE was actually written before the mouse wheel was invented, believe it or not. There have been numerous tools and assorted hacks offered over the years to remedy the native non-support VB provides, but I've found the below more interesting.

Please follow the steps in below page to configure scrolling in VB6 IDE.
 

Monday, December 9, 2013

C# Code to read Active directory attributes for a user

Juts add the below code to a Windows/Web solution and assign the results to a label in you form

using System.DirectoryServices;
using System.Collections;

DirectoryEntry dir = new DirectoryEntry();
dir.Path = "LDAP://YourActiveDirServername ";
DirectorySearcher sea = new DirectorySearcher(dir);
sea.Filter = "(sAMAccountName=user)";
SearchResult seares = sea.FindOne();
StringBuilder str = new StringBuilder();
System.DirectoryServices.ResultPropertyCollection prop = seares.Properties;
ICollection coll = prop.PropertyNames;
IEnumerator enu = coll.GetEnumerator();
while (enu.MoveNext())
{
str.Append(enu.Current + " = " + seares.Properties[enu.Current.ToString()][0] + "\n");
}

label1.Text = str.ToString();

Wednesday, October 23, 2013

How to bind enum to a dropdown/ combobox in c#?

The below code will help you to bind enum to combobox .

        enum Mode
        {
            Cash,
            credit
        }
        private void Form3_Load(object sender, EventArgs e)
        {
            comboBox1.DataSource = Enum.GetNames(typeof(Mode));
        }

Thursday, August 15, 2013

Storing Multiple values in a SQL column using bit(&) operator.

There may be situation where we want to store multiple values against a customer, user etc.  Assume for a customer we need to store whether he  owns a House, Car, Bike, Flat, Laptop…….etc.
In normal scenario, what we do is to create separate column for these in the table and save them as Boolean values as below.


 By using the & bit operator in SQL we could eliminate create multiple columns for storing these type of values. Let us see first how we can store this data by using only a single column.

I believe all we know about binary representation like
Decimal  Binary equivalent
2               000010
4               000100
8               001000
16             010000
32             100000



The logic here to first represent the below values for each
Has House 2
Has Car  4
Has Bike 8
Has Flat 16
Has Laptop 32
(You may extent this to store n number using respective decimal/binary representation like 64,128,256……)
So if  we need to store data for a customer who has house and a flat, what we do is add the numbers against “Has House” and ”Has Flat” which will give 18 (2(Has House)+16(Has Flat)=18).  Store these values against the customer in a single column as shown below.




We could compare whether the customer has a house or a flat using the query below,
 
SELECT 'Has House'  FROM dbo.New_Cuatomer_Data WHERE Owns & 2 = 2
SELECT 'Has Car'    FROM dbo.New_Cuatomer_Data WHERE Owns & 4 = 4
SELECT 'Has Bike'   FROM dbo.New_Cuatomer_Data WHERE Owns & 8 = 8
SELECT 'Has Flat'   FROM dbo.New_Cuatomer_Data WHERE Owns & 16 = 16 
SELECT 'Has Laptop' FROM dbo.New_Cuatomer_Data WHERE Owns & 32 = 32 


How does it work?
The logic works here is that, the & operator checks whether the bit positions specified after the & operator in the query is on or not(1 or 0) .For example in the case of 18, it will binary represented as below.

Hence for
SELECT Owns & 2  FROM dbo.New_Cuatomer_Data
 It will return 2 if 2nd position is on (i.e. if 1)

Binary Bit Positions
32
16
8
4
2
1
Decimal equivalent 18  
0
1
0
0
1
0

Friday, June 1, 2012

Expiring a page on clicking browser back button in Asp.net?

It is most common in some scenarios for us to expire a page as soon as the user clicks the back button in the web browser. This will be needed in scenarios like, when registering a new user or company in our web application.


For all who need this, I thought of sharing the code which will accomplish the same.


Response.Expires = -1;
Response.Cache.SetNoServerCaching();
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.CacheControl ="no-cache";
Response.Cache.SetNoStore();


Just paste the above code in the Page_Load event of your asp.net web page for which you want to expire when user clicks browser back button.


Wednesday, May 2, 2012

How to find the port no of SQL server instance?

The default port of SQL server instance will be normally 1433, for more information please refer the below link


http://support.microsoft.com/kb/287932

But It is not necessary that the SQL server instance will operate in the default port in all client places .You can find the port of SQL server 2008 instance by going to .Start->programs->Microsoft SQL Server 2008 R2->Configuration Tools->SQL Server Configuration Manager.

In SQL Server Configuration Manager go to, SQL Server Network Configuration->protocols for MSQLSERVER->double click TC/IP.

Please refer the below link for more options
http://decipherinfosys.wordpress.com/2008/01/02/finding-the-port-number-for-a-particular-sql-server-instance/
Please see the screen shot below for more details