首页 新闻 搜索 专区 学院

excel导入sql server问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2008-11-26 09:42

我把excel表导入sql server table中时少了200条数据!

代码如下::

..//sql 数据库连接         

 string filepath = FileUpload1.PostedFile.FileName;//取得excel文件路径

            OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";" + "Extended Properties=Excel 8.0;");
            objConn.Open();  
            DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
            string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1or
            string strCom = "SELECT * FROM [" + tableName + "]";
            System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, objConn);
            DataSet ds = new DataSet();//取得数据集
            myCommand.Fill(ds, tableName);//连接数据

 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    string 部门 = ds.Tables[0].Rows[i][0].ToString();
                    string 姓名 = ds.Tables[0].Rows[i][1].ToString();
                    string 编号 = ds.Tables[0].Rows[i][2].ToString();
                    string 日期时间 = ds.Tables[0].Rows[i][3].ToString();
                    string 签到 = ds.Tables[0].Rows[i][4].ToString();
                    string 标识号 = ds.Tables[0].Rows[i][5].ToString();
                    string 身份证号 = ds.Tables[0].Rows[i][6].ToString();
                    if (姓名 != "")
                    {
                        SqlCommand selectcmd = new SqlCommand("select count(*) from DSQ  where 日期时间='" + 日期时间 + "'", conn);
                        int count = Convert.ToInt32(selectcmd.ExecuteScalar());
                        if (count > 0)
                        {
                            Response.Write("<script language='javascript'>alert('请不要重复导入!')</script>");
                            return;
                        }
                        else
                        {
                            SqlCommand insertcmd = new SqlCommand("INSERT INTO DSQ ( 部门,姓名,编号,日期时间,标识号,签到,身份证号) VALUES ('" + 部门 + "','" + 姓名 + "','" + 编号 + "','" + 日期时间 + "','" + 标识号 + "','" + 签到 + "','" + 身份证号 + "') ", conn);
                            insertcmd.ExecuteNonQuery();
                        }
                        //insertcount++;
                    }

子夜星辰的主页 子夜星辰 | 小虾三级 | 园豆:1613
提问于:2008-11-25 11:07
< >
分享
所有回答(1)
0

直接用数据导入工具就可以导的啊

天堂口 | 园豆:514 (小虾三级) | 2008-11-26 08:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册