正文

从ACCESS导出数据到SQL2007-04-02 11:06:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/mimengjiangnan/24547.html

分享到:

    #region 解压ACCESS文件并插入数据到SQL数据库
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (File1.PostedFile != null)
        {
            System.Web.HttpFileCollection oFiles;
            oFiles = System.Web.HttpContext.Current.Request.Files;
            if (oFiles.Count < 1)
            {
                Response.Write("请选择文件。");
                Response.End();
            }

            string FilePath = oFiles[0].FileName;
            if (FilePath == "" || FilePath == null)
            {
                Response.Write("请选择一个文件。");
                Response.End();
            }

            ////   获取文件名:  
            //string fileName = File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf("\\") + 1);

            ////取后缀:  
            //string suffix = fileName.SubString(fileName.LastIndexOf(".") + 1);

            string strzipPath = "" + File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf(" \\ ") + 1) + "";
            string strtxtPath = "";
            System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
            Process1.StartInfo.FileName = "Winrar.exe";
            Process1.StartInfo.CreateNoWindow = true;
            strtxtPath = "g:\\freezip\\";
            Process1.StartInfo.Arguments = " x " + strzipPath + " " + strtxtPath;
            Process1.Start();
            if (Process1.HasExited)
            {
                Response.Write("完成");
                //Winrar = true;
            }
            Process1.Dispose();
            //if (Winrar)
            //{
                try
                {
                    string sql = "SELECT DM,BH,MC,GG,DW,DJ,PBSL,KCSL,QKSL,QKJE,CPSL,CPJE,XXDM,ND FROM OPENROWSET"
                        + "('Microsoft.Jet.OLEDB.4.0', 'G:\\freezip\\UpData.mdb'; 'admin'; '',YQQKTJ)";
                    string constr = "server=192.168.10.22;uid=sa;pwd=;database=jcjyzbxj";
                    SqlConnection con = new SqlConnection(constr);
                    SqlDataAdapter da = new SqlDataAdapter(sql, con);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DM_ZCFL");
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        InsertData2(ds);
                        Response.Write("<script language='javascript'>alert('成功')</script>");
                    }
                    else
                    {
                        Response.Write("<script language='javascript'>alert('没有找到文件!')</script>");
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            //}
        }

    }
    protected void InsertData2(DataSet Set)
    {

        try
        {
            DataSet dataSet = Set;
            string conditions = String.Empty;
            SqlConnection con = new SqlConnection("server=YWG;uid=sa;pwd=;database=jcjyzbxj");
            SqlCommand com = new SqlCommand("DELETE FROM YQQKTJ WHERE XXDM='" + dataSet.Tables[0].Rows[0][12].ToString() + "' AND ND='" + dataSet.Tables[0].Rows[0][13].ToString() + "'", con);
            con.Open();
            com.ExecuteNonQuery();
            con.Close();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT top 1 DM,BH,MC,GG,DW,DJ,PBSL,KCSL,QKSL,QKJE,CPSL,CPJE,XXDM,ND FROM YQQKTJ",con); //WHERE XXDM='" + dataSet.Tables[0].Rows[0][12].ToString() + "' AND ND='" + dataSet.Tables[0].Rows[0][13].ToString() + "'", con);
            da.Fill(ds, "DSYQQKTJ");
            for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
            {
                DataRow dr = ds.Tables[0].NewRow();
                dr[0] = dataSet.Tables[0].Rows[i][0].ToString();
                dr[1] = dataSet.Tables[0].Rows[i][1].ToString();
                dr[2] = dataSet.Tables[0].Rows[i][2].ToString();
                dr[3] = dataSet.Tables[0].Rows[i][3].ToString();
                dr[4] = dataSet.Tables[0].Rows[i][4].ToString();
                dr[5] = float.Parse(dataSet.Tables[0].Rows[i][5].ToString());
                dr[6] = dataSet.Tables[0].Rows[i][6].ToString();
                dr[7] = int.Parse(dataSet.Tables[0].Rows[i][7].ToString());
                dr[8] = dataSet.Tables[0].Rows[i][8].ToString();
                dr[9] = float.Parse(dataSet.Tables[0].Rows[i][9].ToString());
                dr[10] = int.Parse(dataSet.Tables[0].Rows[i][10].ToString());
                dr[11] = float.Parse(dataSet.Tables[0].Rows[i][11].ToString());
                dr[12] = dataSet.Tables[0].Rows[i][12].ToString();
                dr[13] = dataSet.Tables[0].Rows[i][13].ToString();
                ds.Tables[0].Rows.Add(dr);
            }
            SqlCommandBuilder builder = new SqlCommandBuilder(da);
            da.Update(ds, "DSYQQKTJ");
        }
        catch (Exception ex)
        {
            throw ex;
        }

    }
#endregion

阅读(3809) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册