private DataSet excel(string str)
    {
        string sqlstr;
        sqlstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1;'";
        OleDbConnection conn = new OleDbConnection(sqlstr);
        OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn);
        adapter.Fill(ds,"excel");
        DataTable dt = ds.Tables["excel"];
        return ds;
    } 
protected void Button2_Click(object sender, EventArgs e)
    {
        string str = FileUpload1.FileName;
        string FilePath = Server.MapPath("./FileUpload/") + str;
        FileUpload1.PostedFile.SaveAs(FilePath);
        ds = excel(FilePath);
        d.UpDate1(ds, "excel");//引用SqlData.cs中的UpDate1()函数
    }SqlData d = new SqlData();//以下是SqlData.cs中的代码,SqlData.cs是用来存放连接数据库函数的
public class SqlData
{
    //定义该类共用变量
    private SqlConnection conn;
    private SqlCommand cmd;
    private DataSet ds;
    private SqlDataAdapter da;public void UpDate1(DataSet dataset, string table)
    {
        cmd = new SqlCommand("insert into equipment(dw,e_number,e_name,e_type,e_brand,e_place,e_date,e_time)" + "values(@dw,@e_number,@e_name,@e_type,@e_brand,@e_place,@e_date,@e_time)", conn);
        cmd.Parameters.Add("@dw", SqlDbType.NVarChar, 50, "dw");
        cmd.Parameters.Add("@e_number", SqlDbType.NVarChar, 50, "e_number");
        cmd.Parameters.Add("@e_name", SqlDbType.NVarChar, 50, "e_name");
        cmd.Parameters.Add("@e_type", SqlDbType.NVarChar, 50, "e_type");
        cmd.Parameters.Add("@e_brand", SqlDbType.NVarChar, 50, "e_brand");
        cmd.Parameters.Add("@e_place", SqlDbType.NVarChar, 50, "e_place");
        cmd.Parameters.Add("@e_data", SqlDbType.SmallDateTime, 4, "e_data");
        cmd.Parameters.Add("@e_time", SqlDbType.SmallDateTime, 4, "e_time");
        da.InsertCommand = cmd;
        da.Update(dataset, table);
    }
}我的excel表:
dw    e_number  e_name    e_type  e_brand  e_place   e_date        e_time    第一行
aaa      bbb      ccc      sss     ddd      eee    2011-01-01   2011-01-01   第二行运行没有错误,点击按钮后没反应,查找文件确实是上传了excel的。我想应该是上传数据的SqlDataAdapter.Update()函数有问题,它是怎么对应excel表内的列和数据库的表字段对应呢??麻烦各位朋友帮忙看看,比较急,谢谢了!!!!

解决方案 »

  1.   

    我改了下:
    protected void Button2_Click(object sender, EventArgs e)
        {
            string str = FileUpload1.FileName;
            string FilePath = Server.MapPath("./FileUpload/") + str;
            FileUpload1.PostedFile.SaveAs(FilePath);
            ds = excel(FilePath);
            GridView1.DataSource = ds.Tables["excel"].DefaultView;
            GridView1.DataBind();
            //d.UpDate1(ds, "excel");
        }在页面加了个GridView,点击按钮后Gridview能显示出表格的内容,所以datetable是已存在的,现在应该就是dateadpter的update函数问题了,请问update怎么用呢??
      

  2.   

    请问sqldataadapter.update()函数是怎么用的呢?我是想批量上传数据,不想一个个插入。