一个excel表导入到了datagrid,高分求保存到数据库的方法,或例题!!

解决方案 »

  1.   

    你想怎么保存呢。
    在数据库中把表先建好。做个循环用sql吧
      

  2.   

    数据库有相应的表的话,直接Update不就ok了?
      

  3.   

    数据库有相应的表,用的是Access,是不是一个一个从datagrid单元格里取数据?
    直接可以用Update?能不能给给例题
      

  4.   

    前不久,刚写过这样一个程式,以下是代码,希望对你有帮助
    System.Data.SqlClient.SqlDataReader rdr1;
    System.Data.SqlClient.SqlCommand sqlComm=new System.Data.SqlClient.SqlCommand();
    System.Data.SqlClient.SqlConnection sqlConn=new System.Data.SqlClient.SqlConnection();
    sqlConn.ConnectionString=sCnn;
    sqlConn.Open();
    sqlComm.Connection=sqlConn;
    int nMOLineKey; for (int y=0;y<myDataset2.Tables["TableData"].Rows.Count;y++)
    {
    sqlComm.CommandText="select MOLineKey from FS_MOLine inner join FS_MOHeader on FS_MOHeader.MOHeaderKey=FS_MOLine.MOHeaderKey where FS_MOHeader.MONumber='"+myDataset2.Tables["TableData"].Rows[y][2].ToString().Trim()+"' and FS_MOLine.MOLineNumber="+Convert.ToInt32(myDataset2.Tables["TableData"].Rows[y][3]);
    rdr1=sqlComm.ExecuteReader();
    if (rdr1.Read()==false)
    {
    nMOLineKey=0;
    }
    else
    {
    nMOLineKey=rdr1.GetInt32(0);
    }
    rdr1.Close(); sSql="insert into NRH_PRODSCH(PROD_DATE,DEPT_CODE,CELL,SHIFT,MO_NO,MO_LINE,CO_NO,ITEM_NO,[SIZE],PLAN_QTY,PLAN_TIME,PLAN_OT,UNBUDGET_HR,UNBUDGET_RSN,REMARK,USER_ID,SYS_TIME,MOLINEKEY) " 
    + "values ( " 
    + "'" + sProdDate + "',"
    + "'" + sDeptCode + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][0].ToString().Trim() + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][1].ToString().Trim() + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][2].ToString().Trim() + "',"
    + "" + myDataset2.Tables["TableData"].Rows[y][3].ToString().Trim() + ","
    + "'" + myDataset2.Tables["TableData"].Rows[y][4].ToString().Trim() + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][5].ToString().Trim() + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][6].ToString().Trim() + "',"
    + "" + myDataset2.Tables["TableData"].Rows[y][7].ToString().Trim() + ","
    + "" + myDataset2.Tables["TableData"].Rows[y][8].ToString().Trim() + ","
    + "" + myDataset2.Tables["TableData"].Rows[y][9].ToString().Trim() + ","
    + "" + myDataset2.Tables["TableData"].Rows[y][10].ToString().Trim() + ","
    + "'" + myDataset2.Tables["TableData"].Rows[y][11].ToString().Trim() + "',"
    + "'" + myDataset2.Tables["TableData"].Rows[y][12].ToString().Trim() + "',"
    + "'" + this.txtUserName.Text.ToString().Trim() + "',"
    + "'" + System.DateTime.Now + "',"
    + "" + nMOLineKey + ""
    + ")";
    sErr=ExecuteUpdate(sCnn,sSql,"","");
    if (sErr!="")
    {
    string Message="程式资料写入错误 Cell=" +myDataset2.Tables["TableData"].Rows[y][0].ToString().Trim() + " MO_NO=" + myDataset2.Tables["TableData"].Rows[y][2].ToString().Trim() + " MO_LINE="+myDataset2.Tables["TableData"].Rows[y][3].ToString().Trim();
    Console(Message);
    }
    }
      

  5.   

    楼上的可以   一条一条的插吧  UPDATE好象不能实现你的意思
      

  6.   

    你是如何导出到datagrid,如果用的是DataSet的话,可以参看
    http://blog.csdn.net/Knight94/archive/2006/05/01/704316.aspx
      

  7.   

    是啊,只能一条条地插,如果不会写foreach,哥哥可以教你
    foreach(DataRow row in Table.Rows)
    {
       sql="insert into 表 values("
       for(int i=0;i<Table.Rows.count;i++)
       {
          sql+=row[i];
       }
       sql+=")"
       command.ExecNoquerry(sql);
    }