添加一个http://api.showji.com/locating/Mobile.asmx的webservice引用
using
System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Data;
using System.Data.sqlite;
namespace GetMobileData
{
class GetData
{
public void Get()
{
for ( int i = 0 ; i <= 9 ; i ++ )
{
new Thread( new ParameterizedThreadStart(GetThread)).Start(i);
}
// List<MobileInfo> mInfos = new List<MobileInfo>();
}
private void GetThread( object obj)
{
int nMobileBase = 1300001 ;
int nOffset = 1300000 ;
int i = ( int )obj;
nMobileBase += i * 10000 ;
nOffset += i * 10000 + 9999 ;
for ( int j = nMobileBase; j < nOffset; j ++ )
{
MobileInfo mInfo = new MobileInfo();
mInfo.MobileCode = j.ToString();
MobileService.Mobile mobileSrv = new MobileService.Mobile();
Console.WriteLine( " 正在查询 " + j);
mobileSrv.Query(j.ToString() + 1234 , out mInfo.Province, out mInfo.City, out mInfo.AreaCode, out mInfo.PostCode, out mInfo.Corpname, out mInfo.CardName);
Console.WriteLine( " 正在保存 " + j);
SavetoDB(mInfo);
}
}
private void SavetoDB(MobileInfo mInfo)
{
sqliteConnection liteConn = new sqliteConnection( " Data Source=E:\\UtilData\\mobile;Version=3;New=True; " );
liteConn.open();
string ssql = " INSERT INTO m_mobile_data (cMobileCode,cProvince,cCity,cAreaCode,cPostCode,cCorpname,cCardName) " +
" VALUES(@MobileCode,@Province,@City,@AreaCode,@PostCode,@Corpname,@CardName) " ;
sqliteCommand liteCmd = new sqliteCommand(liteConn);
liteCmd.CommandText = ssql;
// liteCmd.Parameters.
sqliteParameter litePara = new sqliteParameter();
litePara.ParameterName = " MobileCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.MobileCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " Province " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.Province;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " City " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.City;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " AreaCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.AreaCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " PostCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.PostCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " Corpname " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.Corpname;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " CardName " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.CardName;
liteCmd.Parameters.Add(litePara);
liteCmd.ExecuteNonQuery();
liteConn.Close();
}
}
class MobileInfo
{
public string MobileCode;
public string Province;
public string City;
public string AreaCode;
public string PostCode;
public string Corpname;
public string CardName;
}
}
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Data;
using System.Data.sqlite;
namespace GetMobileData
{
class GetData
{
public void Get()
{
for ( int i = 0 ; i <= 9 ; i ++ )
{
new Thread( new ParameterizedThreadStart(GetThread)).Start(i);
}
// List<MobileInfo> mInfos = new List<MobileInfo>();
}
private void GetThread( object obj)
{
int nMobileBase = 1300001 ;
int nOffset = 1300000 ;
int i = ( int )obj;
nMobileBase += i * 10000 ;
nOffset += i * 10000 + 9999 ;
for ( int j = nMobileBase; j < nOffset; j ++ )
{
MobileInfo mInfo = new MobileInfo();
mInfo.MobileCode = j.ToString();
MobileService.Mobile mobileSrv = new MobileService.Mobile();
Console.WriteLine( " 正在查询 " + j);
mobileSrv.Query(j.ToString() + 1234 , out mInfo.Province, out mInfo.City, out mInfo.AreaCode, out mInfo.PostCode, out mInfo.Corpname, out mInfo.CardName);
Console.WriteLine( " 正在保存 " + j);
SavetoDB(mInfo);
}
}
private void SavetoDB(MobileInfo mInfo)
{
sqliteConnection liteConn = new sqliteConnection( " Data Source=E:\\UtilData\\mobile;Version=3;New=True; " );
liteConn.open();
string ssql = " INSERT INTO m_mobile_data (cMobileCode,cProvince,cCity,cAreaCode,cPostCode,cCorpname,cCardName) " +
" VALUES(@MobileCode,@Province,@City,@AreaCode,@PostCode,@Corpname,@CardName) " ;
sqliteCommand liteCmd = new sqliteCommand(liteConn);
liteCmd.CommandText = ssql;
// liteCmd.Parameters.
sqliteParameter litePara = new sqliteParameter();
litePara.ParameterName = " MobileCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.MobileCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " Province " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.Province;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " City " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.City;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " AreaCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.AreaCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " PostCode " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.PostCode;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " Corpname " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.Corpname;
liteCmd.Parameters.Add(litePara);
litePara = new sqliteParameter();
litePara.ParameterName = " CardName " ;
litePara.DbType = DbType.String;
litePara.Value = mInfo.CardName;
liteCmd.Parameters.Add(litePara);
liteCmd.ExecuteNonQuery();
liteConn.Close();
}
}
class MobileInfo
{
public string MobileCode;
public string Province;
public string City;
public string AreaCode;
public string PostCode;
public string Corpname;
public string CardName;
}
}
打算在PSP上做应用所以使用的sqlite.开了10个线程,暂时先跑130到139段
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。