OpenFileDialog nd = new OpenFileDialog();
            nd.Filter = "excel文件|*.xls";
            if (nd.ShowDialog() == DialogResult.OK)
            {
                path = nd.FileName;
                string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                string tableName = "";
                if (File.Exists(path))
                {
                    conn.Open();
                    DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        tableName = "[" + dt.Rows[i][2].ToString().Trim() + "]";
                    }
                    conn.Close();
                }
                int flat = 0;
                string[] ziduan = new string[dataGridView1.Columns.Count];
                try
                {
                    for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                    {
                        for (int j = 0; j < dataGridView1.Columns.Count; j++)
                        {
                            ziduan[j] = dataGridView1.Rows[i].Cells[j].Value.ToString();                        }
                        SqlConnection con = new SqlConnection("workstation id=.;initial catalog=Scholarship assessment system;integrated security=true;pwd=");
                        SqlCommand cmd = new SqlCommand("insert TableCapability(学号,姓名,基本分,科研水平,获奖加分,学述论文,社会实践,等级考试,任职分,总和,备注) values(@a1,@a2,@a3,@a4,@a5,@a6,@a7,@a8,@a9,@a10,@a11)", con);
                        cmd.Parameters.Add("@a1", SqlDbType.Int, 4);
                        cmd.Parameters["@a1"].Value = int.Parse(ziduan[0]);                        cmd.Parameters.Add("@a2", SqlDbType.VarChar, 12);
                        cmd.Parameters["@a2"].Value = ziduan[1];                        cmd.Parameters.Add("@a3", SqlDbType.Float, 8);
                        cmd.Parameters["@a3"].Value = float.Parse(ziduan[2]);                        cmd.Parameters.Add("@a4", SqlDbType.Float, 8);
                        cmd.Parameters["@a4"].Value = float.Parse(ziduan[3]);                        cmd.Parameters.Add("@a5", SqlDbType.Float, 8);
                        cmd.Parameters["@a5"].Value = float.Parse(ziduan[4]);                        cmd.Parameters.Add("@a6", SqlDbType.Float, 8);
                        cmd.Parameters["@a6"].Value = float.Parse(ziduan[5]);                        cmd.Parameters.Add("@a7", SqlDbType.Float, 8);
                        cmd.Parameters["@a7"].Value = float.Parse(ziduan[6]);                        cmd.Parameters.Add("@a8", SqlDbType.Float, 8);
                        cmd.Parameters["@a8"].Value = float.Parse(ziduan[7]);                        cmd.Parameters.Add("@a9", SqlDbType.Float, 8);
                        cmd.Parameters["@a9"].Value = float.Parse(ziduan[8]);                        cmd.Parameters.Add("@a10", SqlDbType.Float, 8);
                        cmd.Parameters["@a10"].Value = float.Parse(ziduan[9]);                        cmd.Parameters.Add("@a11", SqlDbType.VarChar, 200);
                        cmd.Parameters["@a11"].Value = ziduan[10];
                        conn.Open();
                        int temp = cmd.ExecuteNonQuery();
                        flat += temp;
                        if (temp == 0)
                        {
                            flat++;
                            MessageBox.Show("第" + flat.ToString() + "行信息不能被录入", "提示!");
                        }
                        conn.Close();
                    }
                    MessageBox.Show("能力信息导入成功!", "提示!");                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString());
                }
            }

解决方案 »

  1.   

    你的变量命名错误了
    conn 是你连接excel的数据连接
    con是你连接sqlserver的数据连接
    所以这里应该是con,而不是conncmd.Parameters.Add("@a11", SqlDbType.VarChar, 200);
                            cmd.Parameters["@a11"].Value = ziduan[10];
                            conn.Open();
                            int temp = cmd.ExecuteNonQuery();
                            flat += temp;
                            if (temp == 0)
                            {
                                flat++;
                                MessageBox.Show("第" + flat.ToString() + "行信息不能被录入", "提示!");
                            }
                            conn.Close(); 
      

  2.   

      con.Open(); 
      int temp = cmd.ExecuteNonQuery(); 
      flat += temp; 
    if (temp == 0) 
     { 
       flat++; 
       MessageBox.Show("第" + flat.ToString() + "行信息不能被录入", "提示!"); 
       } 
    conn.Close(); 
    跟踪数据看看
      

  3.   


    cmd.Parameters.Add("@a11", SqlDbType.VarChar, 200); 
    cmd.Parameters["@a11"].Value = ziduan[10]; 
    conn.Open(); 
    int temp = cmd.ExecuteNonQuery(); 
    flat += temp; 
    if (temp == 0) 

     flat++; 
     MessageBox.Show("第" + flat.ToString() + "行信息不能被录入", "提示!"); 

    conn.Close();