如何在老数据库中用id查找地名,在新数据库用地名查找id?
这是我写的一段代码,求高手帮忙看看,目的是要在老数据库中的内容插到新数据库中,可是两个数据库对应的id不一样,所以请帮忙看看吧
namespace ConsoleApplication1
{
class Program
{
private static readonly string ServerStr = ConfigurationManager.ConnectionStrings["ServerStr"].ConnectionString;
private static readonly string ManageStr = ConfigurationManager.ConnectionStrings["ManageStr"].ConnectionString;
private static int td=0;
private static int rs = 0;
private static String DataGridBind(int id)
{
string areaname = null;
using (SqlConnection conn = new SqlConnection(ServerStr))
{
conn.Open();
string strSQL = "SELECT * from area_Info where id=" + id;
using (SqlCommand cmd = new SqlCommand(strSQL, conn))
{
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
areaname = dr["areaname"].ToString();
}
}
}
return areaname;
}
private static int DataGridBind1(string areaname)
{
int id = 0;
using (SqlConnection conn = new SqlConnection(ServerStr))
{
conn.Open();
string strSQL = "SELECT * from area_Info where areaname=@areaname";
using (SqlCommand cmd = new SqlCommand(strSQL, conn))
{
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
id = Convert.ToInt32(dr["id"].ToString());
}
}
}
return id;
}
static void Main(string[] args)
{
int i = 0;
Console.WriteLine("开始执行");
using (SqlConnection conn = new SqlConnection(ServerStr))
{
conn.Open();
Console.WriteLine("server数据库已经打开");
using (SqlConnection con = new SqlConnection(ManageStr))
{
con.Open();
Console.WriteLine("manage数据库已经打开");
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from Business_Info order by id asc";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
i++;
string strSQL = "Insert into Business_Info_WinLing(Status,Workorder,Account,[Action],Username,Telephone,Address,StartTime,Demandtime,[Send],CompleteTime,SetupTime,ChargeTime,[Type],IP,MAC,Result,AdminComment,TownComment,Admin,Town,Accept,Timeout)" +
"Values(@Status,@Workorder,@Account,@Action,@Username,@Telephone,@Address,@StartTime,@Demandtime,@Send,@CompleteTime,@SetupTime,@ChargeTime,@Type,@IP,@MAC,@Result,@AdminComment,@TownComment,@Admin,@Town,@Accept,@Timeout)";
using (SqlCommand cmdd = new SqlCommand(strSQL, con))
{
cmdd.Parameters.Add(new SqlParameter("@Status", Convert.ToInt32(dr["Status"])));
cmdd.Parameters.Add(new SqlParameter("@Workorder", dr["Workorder"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Account", dr["Account"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Action", dr["Action"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Username", dr["Username"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Telephone", dr["Telephone"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Address", dr["Address"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@StartTime", dr["StartTime"].ToString()));
if (dr["StartTime"] != DBNull.Value && dr["EndTime"] != DBNull.Value)
{
DateTime StartTime = Convert.ToDateTime(dr["StartTime"].ToString());
DateTime EndTime = Convert.ToDateTime(dr["endtime"].ToString());
TimeSpan dt = (TimeSpan)Convert.ToDateTime(StartTime).Subtract(Convert.ToDateTime(EndTime));
td = System.Math.Abs(dt.Days) * 24 + System.Math.Abs(dt.Hours);
}
cmdd.Parameters.Add(new SqlParameter("@Demandtime", td == 0 ? 72 : td));
cmdd.Parameters.Add(new SqlParameter("@Send", dr["Send"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@CompleteTime", dr["CompleteTime"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@SetupTime", dr["SetupTime"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@ChargeTime", dr["ChargeTime"].ToString()));
if (dr["Type"] != DBNull.Value)
{
cmdd.Parameters.Add(new SqlParameter("@Type", Convert.ToInt32(dr["type"])));
}
else
{
cmdd.Parameters.Add(new SqlParameter("@Type", rs));
}
cmdd.Parameters.Add(new SqlParameter("@IP", dr["IP"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@MAC", dr["MAC"].ToString()));
if (dr["Result"] != DBNull.Value)
{
cmdd.Parameters.Add(new SqlParameter("@Result", Convert.ToInt32(dr["Result"])));
}
else
{
cmdd.Parameters.Add(new SqlParameter("@Result",rs));
}
cmdd.Parameters.Add(new SqlParameter("@AdminComment", dr["AdminComment"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@TownComment", dr["TownComment"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Admin", dr["Admin"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Town", Convert.ToInt32(dr["Town"])));
cmdd.Parameters.Add(new SqlParameter("@Accept", dr["Accept"].ToString()));
cmdd.Parameters.Add(new SqlParameter("@Timeout", rs));
try
{
if (cmdd.ExecuteNonQuery() > 0)
{
Console.WriteLine("正在插入第" + (i).ToString() + "条,请稍候.........");
}
}
catch
{
Console.WriteLine("Status=" + Convert.ToInt32(dr["Status"]));
Console.WriteLine("Workorder=" + (dr["Workorder"]));
Console.WriteLine("Account=" + (dr["Account"]));
Console.WriteLine("Action=" + (dr["Action"]));
Console.WriteLine("Username=" + (dr["Username"]));
Console.WriteLine("Telephone=" + (dr["Telephone"]));
Console.WriteLine("Address=" + (dr["Address"]));
Console.WriteLine("StartTime=" + (dr["StartTime"]));
Console.WriteLine("Send=" + (dr["Send"]));
Console.WriteLine("CompleteTime=" + (dr["CompleteTime"]));
Console.WriteLine("SetupTime=" + (dr["SetupTime"]));
Console.WriteLine("ChargeTime=" + (dr["ChargeTime"]));
Console.WriteLine("Type=" + Convert.ToInt32(dr["Type"]));
Console.WriteLine("IP=" + (dr["IP"]));
Console.WriteLine("MAC=" + (dr["MAC"]));
Console.WriteLine("Result=" + Convert.ToInt32(dr["Result"]));
Console.WriteLine("AdminCommen=" + (dr["AdminCommen"]));
Console.WriteLine("TownComment=" + (dr["TownComment"]));
Console.WriteLine("Admin=" + (dr["Admin"]));
Console.WriteLine("Town=" + (dr["Town"]));
Console.WriteLine("Accept=" + (dr["Accept"]));
Console.WriteLine("Timeout=" + (dr["Timeout"]));
Thread.Sleep(10000);
}
}
}
con.Close();
con.Dispose();
}
conn.Close();
conn.Dispose();
Console.ReadKey();
}
}
}
}
}