daresheep

重点关注web2.0/asp.net/php/ajax

随便写的一段代码,想用来复制数据库。。

想做个数据转移的程序。。写了一半。没弄了

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 MySql.Data;
using MySql.Data.MySqlClient;
using System.Threading;
namespace DataConver
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            msg.Text = "初始化完成";
        }

        private void open_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            path.Text = openFileDialog1.FileName;
        }

        private void doconn()
        {
            if (path.Text != "")
            {
                try
                {
                    //连接access
                    msg.Text = "连接access数据库..";
                    OleDbConnection acconn = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + path.Text.ToString());
                    acconn.Open();
                    msg.Text = "数据库连接成功...";
                    OleDbDataAdapter accAdpt = new OleDbDataAdapter("select * from content", acconn);
                    DataTable dt = new DataTable();
                    accAdpt.Fill(dt);
                    acconn.Close();
                    msg.Text = "准备连接到mysql服务器";
                    MySqlConnection myconn = new MySqlConnection("Server=wx661;userid=ieexpo;password=admin;Database=akw");
                  
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        //连接到mysql
                        myconn.Open();
                        try
                        {
                            company Company = new company(dt.Rows[i]["公司名称"].ToString());
                            string sql = "insert into eos_products(company_id,member_id,name,picture,content,status,state,created,industry_id,produce_area,sn,spec )values('" + Company.id + "','" + Company.uid + "','" + dt.Rows[i]["产品名称"].ToString().Replace("'", "‘").Trim() + "','" + getimg(dt.Rows[i]["产品图片"].ToString().Replace("'", "‘").Trim()).Replace("/Image/", type.Text.ToString()) + "','" + dt.Rows[i]["产品简介"].ToString().Replace("'", "‘").Trim() + "','1','1','','" + type.Text.ToString().Trim() + "','" + dt.Rows[i]["产品产地"].ToString().Replace("'", "‘").Trim() + "','" + dt.Rows[i]["产品型号"].ToString().Replace("'", "‘").Trim() + "','" + dt.Rows[i]["产品规格"].ToString().Replace("'", "‘").Trim() + "')";
                            MySqlCommand mycmd = new MySqlCommand(sql, myconn);
                            mycmd.ExecuteNonQuery();
                            myconn.Close();
                            msg.Text = "完成" + (i+1).ToString() + "/" + dt.Rows.Count;
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show(e.Message.ToString(), "错误");
                        }
                        finally
                        {
                            myconn.Close();
                        }
                       
                    }
                    MessageBox.Show("任务完成!", "提示");
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message.ToString(), "ACCESS连接错误");
                }
            }
        }

        private string getimg(string img)
        {
            return img.Replace("<IMG", "").Replace("<img", "").Replace("SRC=\"", "").Replace("src=\"", "").Replace("WIDTH=150 HEIGHT=150 ALT=\"\" border=0>", "").Replace("\"","").Trim();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread th = new Thread(new ThreadStart(doconn));
            th.Start();
        }
       

    }

    class company
    {
        public string id;
        public string uid;
        public company() { }
        public company(string name)
        {
            try
            {
                MySqlConnection myconn = new MySqlConnection("Server=wx661;userid=ieexpo;password=admin;Database=akw");
                myconn.Open();
                string sql = "select member_id,id from eos_companies where name like '" + name + "'";
                MySqlCommand mycomm = new MySqlCommand(sql, myconn);
                MySqlDataReader dr = mycomm.ExecuteReader();
                if (dr.Read())
                {
                    this.id = dr["id"].ToString();
                    this.uid = dr["member_id"].ToString();
                }
                else
                {
                    this.id = "1";
                    this.uid = "1";
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message.ToString(), "错误");
            }
        }
    }
}

posted on 2008-11-20 15:17  小盗  阅读(297)  评论(0编辑  收藏  举报

导航