winForm 数据导入SQL sever数据库(极品)

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.SqlClient;
using System.Data.OleDb;

namespace WindowsFormsApplication3
{
    public partial class Form12 : Form
    {
        public Form12()
        {
            InitializeComponent();
        }
        public string strCon = System.Configuration.ConfigurationSettings.AppSettings["conn"].ToString();
        private DataSet xsldata(string filepath)
        {

            string strCon1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";

            System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon1);

            string strCom = "SELECT * FROM [Sheet1$]";

            Conn.Open();

            System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);

            DataSet ds = new DataSet();

            myCommand.Fill(ds, "[Sheet1$]");
            dataGridView1.DataSource = ds.Tables[0];
            Conn.Close();
            return ds;

 

        }

        private void button1_Click(object sender, EventArgs e)
        {  
            OpenFileDialog openDialog = new OpenFileDialog();
            openDialog.ShowDialog();
            //openDialog.Filter = "Execl files (*.xls)|*.xls|(*.xlsx)|*.xlsx";
            openDialog.Filter = "位图文件(*.bmp)|*.bmp|JPG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif";
            openDialog.FilterIndex = 0;
            openDialog.RestoreDirectory = true;
            string fileName = string.Empty;//要上传的文件名
            fileName = openDialog.FileName;
            string uriFiles = string.Empty;//保存到服务器路径
            if (fileName == "")
            {
                MessageBox.Show("请选择要导入的Excel文档!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            string filepath = fileName;
            SqlConnection conn = new SqlConnection(strCon);//链接数据库
            conn.Open();

            try
            {
                DataSet ds = new DataSet();
                //取得数据集
                //调用上面的函数

                ds = xsldata(filepath);
                //dataGridView2.DataSource = ds.Tables[0];
                int errorcount = 0;//记录错误信息条数

                int insertcount = 0;//记录插入成功条数

                int updatecount = 0;//记录更新信息条数

                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {

                    int cardtypeid = Convert.ToInt32(ds.Tables[0].Rows[i][0].ToString());

                    string cardnum = ds.Tables[0].Rows[i][1].ToString();

                    string cardpwd = ds.Tables[0].Rows[i][2].ToString();
                  
                    if (cardtypeid != 0 && cardnum != "" && cardpwd != "")
                    {

                        SqlCommand selectcmd = new SqlCommand("select count(*) from aa where a='" + cardnum + "'and b='" + cardpwd + "', conn);

                        int count = Convert.ToInt32(selectcmd.ExecuteScalar());

                        if (count > 0)
                        {
                            updatecount++;

                        }
                        else
                        {
                           
                            SqlCommand insertcmd = new SqlCommand("insert into aa(a,b) values('" + cardnum + "','" + cardpwd + "')", conn);

                            insertcmd.ExecuteNonQuery();

                            insertcount++;

                        }

 

                    }
                    else
                    {

                        //MessageBox.Show("电子表格信息有错!");
                        errorcount++;

                        ;

                    }


                }

                MessageBox.Show(insertcount + "条数据导入成功!" + updatecount + "条数据重复!" + errorcount + "条数据部分信息为空没有导入!");

            }

            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);

            }

            finally
            {

                conn.Close();

            }

        }

 

posted on 2013-01-17 22:18  闪电光芒  阅读(298)  评论(0)    收藏  举报

导航