Search results for 'How to know country by remote IP address'. 1 post(s) found.

  1. 2007/09/25 Extracting the Country from IP Address
2007/09/25 14:38

Extracting the Country from IP Address


Notes: If you want to run this sample,you should copy the Ip address to driver c:\.

Using the code


Part 1.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Treaple.com
{
    public partial class Form1 : Form
    {
        private CompareIP compareIP = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            compareIP = new CompareIP();

            string Ip = txtIP.Text.Trim();
            string[] Ip_List = Ip.Split(".".ToCharArray());
            string X_Ip = "";

            foreach (string ip in Ip_List)
            {
                if (Convert.ToInt16(ip) < 16)
                    X_Ip += "0" + Convert.ToInt16(ip).ToString("x");
                else
                    X_Ip += Convert.ToInt16(ip).ToString("x");
            }

            long N_Ip = long.Parse(X_Ip, System.Globalization.NumberStyles.HexNumber);
            compareIP.IPAddress = N_Ip;
            DataSet newdata = compareIP.GetIP();
            try
            {
                txtCountry.Text = newdata.Tables[0].Rows[0][2].ToString();
                txtCity.Text = newdata.Tables[0].Rows[0][3].ToString();
            }
            catch
            {
                MessageBox.Show("Invalid Ip address!");
            }
        }
    }
}

 
Part2.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace Treaple.com
{
    //////////////////////Base Class///////////////////////
    public abstract class DataExchange
    {
        public IPAccessDataBase accessDataBase;
        public abstract int AddData();
        public abstract int ChangeData();
        public abstract DataSet GetData();
    }

    //////////////////////Sub Class////////////////////////

    public class CompareIP
    {
        public IPAccessDataBase iPAccessDataBase;
        public long IPAddress;

        public CompareIP()
        {
            iPAccessDataBase = new IPAccessDataBase();
        }

        public DataSet GetIP()
        {
            return iPAccessDataBase.SelectData("select * from address where " + this.IPAddress + " >=ip1 and " + this.IPAddress + " <= ip2", "address");
        }
    }
}

 
part3.  
using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;

namespace Treaple.com
{
    ///
    public class IPAccessDataBase
    {
        private string strSQL;

        private string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +"c:\"+("IP.MDB");

        private OleDbConnection myConnection;
        private OleDbCommandBuilder sqlCmdBld;
        private OleDbDataAdapter da;

        private DataSet ds = new DataSet();

        public IPAccessDataBase()
        {
        }

        public IPAccessDataBase(string conStr)
        {
            connectionString = conStr;
        }

        public DataSet SelectData(string tempStrSQL, string tempTableName)
        {
            this.strSQL = tempStrSQL;
            this.myConnection = new OleDbConnection(connectionString);
            this.da = new OleDbDataAdapter(this.strSQL, this.myConnection);
            this.ds.Clear();
            this.da.Fill(ds, tempTableName);
            return ds;
        }

        public DataSet UpdateData(DataSet changedDataSet, string tableName)
        {
            this.myConnection = new OleDbConnection(connectionString);
            this.da = new OleDbDataAdapter(this.strSQL, this.myConnection);
            this.sqlCmdBld = new OleDbCommandBuilder(da);
            this.da.Update(changedDataSet, tableName);
            return changedDataSet;
        }

 

        public DataTable SelectData(string tempStrSQL)
        {
            this.myConnection = new OleDbConnection(connectionString);
            DataSet tempDataSet = new DataSet();
            this.da = new OleDbDataAdapter(tempStrSQL, this.myConnection);
            this.da.Fill(tempDataSet);
            return tempDataSet.Tables[0];
        }


        public int UpdateData(string tempStrSQL)
        {
            OleDbConnection myConnection = new OleDbConnection(connectionString);
            OleDbCommand myCommand = new OleDbCommand(tempStrSQL);
            myCommand.Connection = myConnection;
            myConnection.Open();
            int intNumber = myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConnection.Close();
            return intNumber;
        }
    }  
}

ExtractinIP.zip

Download Source Code


Trackback 3 Comment 0

Trackback : Cannot send a trackbact to this post.

  1. Subject different money making ideas

    Tracked from moneyideas 2010/01/28 23:30 delete

    moneyideas

  2. Subject different money making ideas

    Tracked from moneyideas 2010/01/29 07:45 delete

    moneyideas

  3. Subject different money making ideas

    Tracked from moneyideas 2010/01/31 16:41 delete

    moneyideas