A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王长森 于 2012-3-16 00:40 编辑

前几天在黑马论坛上遇到一个网友求手机IP地址的数据,我便回复,网上如果找不到的话可以加我QQ,今晚下班回来,打开QQ给他传过去~结果让他想不到,用不了,因为我在网下下的是Access的数据库,而他用的是Sql Server数据库,然后我就引用了前几天所学的知识~些了一小段程序,把Access数据库里的数据导入到Sql Server,虽然代码不够简洁,但还是顺利的完成啦~哈哈,希望网友给予改善
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;//导入Access数据库的命名空间
using System.Data.SqlClient;

namespace 把Access书库导入Sql_server
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\mobile.mdb;Jet OLEDB:Database Password=123;Persist Security Info=False";//连接Access数据库的字符串
            using (OleDbConnection conStr = new OleDbConnection(connectionString))
            {
                conStr.Open();//打开数据
                using (OleDbCommand com = conStr.CreateCommand())
                {
                    com.CommandText = "select * from list";
                    using (OleDbDataReader reader = com.ExecuteReader())
                    {
                        //string code = Convert.ToString(reader.GetString(reader.GetOrdinal("code")));
                        string sqlConStr = @"Data Source=HP-PC\SQLEXPRESS;Initial Catalog=login;Integrated Security=True";
                        using (SqlConnection sqlCon = new SqlConnection(sqlConStr))
                        {
                            sqlCon.Open();
                            using (SqlCommand sqlCmd = sqlCon.CreateCommand())
                            {
                                while (reader.Read())//读取数据库里的数据
                                {
                                    string oleNum = Convert.ToString(reader.GetString(reader.GetOrdinal("num")));
                                    string oleCode = Convert.ToString(reader.GetString(reader.GetOrdinal("code")));
                                    string oleCity = Convert.ToString(reader.GetString(reader.GetOrdinal("city")));
                                    string oleCardtype = Convert.ToString(reader.GetString(reader.GetOrdinal("cardtype")));
                                    sqlCmd .CommandText= "insert into T_mobile(Num,Code,City,Cardtype) values(@num,@code,@city,@cardtype)";
                                    SqlParameter anum = new SqlParameter("num",oleNum);
                                    SqlParameter bcode = new SqlParameter("code", oleCode);
                                    SqlParameter ccity=new SqlParameter("city",oleCity);
                                    SqlParameter dcardtype=new SqlParameter("cardtype",oleCardtype);
                                    sqlCmd.Parameters.Add(anum);
                                    sqlCmd.Parameters.Add(bcode);
                                    sqlCmd.Parameters.Add(ccity);
                                    sqlCmd.Parameters.Add(dcardtype);
                                    sqlCmd.ExecuteNonQuery();
                                    sqlCmd.Parameters.Clear();
                                }
                            }
                        }


                    }
                }
            }
            MessageBox.Show("数据导入成功");
        }
    }
}

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

6 个回复

倒序浏览
小弟今晚实在太累了,上面有些错字,大家一看都懂的
回复 使用道具 举报
{:soso__4926111392745819149_2:}学习了,谢谢楼主分享
回复 使用道具 举报
楼主值得学习,学与致用
回复 使用道具 举报
谢谢分享,
回复 使用道具 举报
非常值得向楼主学习啊!
回复 使用道具 举报
为什么不用,Sql Server 的导入,导出功能呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马