日期:2014-05-18 浏览次数:21313 次
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 
using System.Threading; 
namespace SearchIp 
{ 
    public partial class Form1 : Form 
    { 
        private string ipStr; 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        private void button1_Click(object sender, EventArgs e) 
        { 
            label4.Text = ""; 
            ipStr = textBox1.Text; 
            Thread t = new Thread(new ThreadStart(SearchThread)); 
            t.Start(); 
        } 
        private void Form1_Load(object sender, EventArgs e) 
        { 
            progressBar1.Maximum = 364875; 
        } 
        public void SearchThread() 
        { 
                string[] ipfd = ipStr.Split('.'); 
                int ip1 = Convert.ToInt32(ipfd[0]); 
                int ip2 = Convert.ToInt32(ipfd[1]); 
                int ip3 = Convert.ToInt32(ipfd[2]); 
                int ip4 = Convert.ToInt32(ipfd[3]); 
                string sqlcmd="select * from IP_Address where IPStart like '%"+(ip1+"."+ip2)+"%'"; 
                if(ip1 <12) 
                    sqlcmd="select * from IP_Address where IPStart like '%"+ip1+"%'"; 
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IP.mdb"); 
                con.Open(); 
                OleDbCommand cmd = new OleDbCommand(sqlcmd, con); 
                OleDbDataReader dr = cmd.ExecuteReader(); 
                while (dr.Read()) 
                { 
                    int ts = Convert.ToInt32(dr["Code"]); 
            this.Invoke((MethodInvoker)delegate 
                    {
                        progressBar1.Value = ts; 
                        progressBar1.Refresh();  
                          label4.Text = ts + ""; 
                        label4.Refresh(); 
            });
                    string[] IPS = dr["IPStart"].ToString().Split('.'); 
                    string[] IPE = dr["IPEnd"].ToString().Split('.'); 
                    int ips1 = Convert.ToInt32(IPS[0]); 
                    int ips2 = Convert.ToInt32(IPS[1]); 
                    int ips3 = Convert.ToInt32(IPS[2]); 
                    int ips4 = Convert.ToInt32(IPS[3]); 
                    int ipe1 = Convert.ToInt32(IPE[0]); 
                    int ipe2 = Convert.ToInt32(IPE[1]); 
                    int ipe3 = Convert.ToInt32(IPE[2]); 
                    int ipe4 = Co