怎样将access数据库news表中title字段中的数据导入到SQL Server表metting中mtitle字段中呢。我用一个上传控件,浏览找到access数据库,点击导入,将access数据库new表中的title字段里的数据导入到SQL表metting中mtitle字段中。

解决方案 »

  1.   

    看例子,从excel表里获取数据到dataset中 private System.Data.DataTable GetExcelTable(string uploadPath)
            {
                DataSet ds = new DataSet();
                string Xls_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + uploadPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";//HDR为yes 则第一数据行为列名,为no 则自动为列加列名F1  F2  F3
                OleDbConnection Conn = new OleDbConnection(Xls_ConnStr);
                try
                {
                    Conn.Open();
                    string sql_str = "select * from [Sheet1$]";
                    OleDbDataAdapter da = new OleDbDataAdapter(sql_str, Conn);
                    da.Fill(ds, "excel_data");
                    Conn.Close();
                }
                catch
                {
                    if (Conn.State == ConnectionState.Open)
                    {
                        Conn.Close();
                    }
                    return null;
                }
                finally
                {
                    Conn.Dispose();
                }            if (ds == null)
                {
                    return null;
                }            if (ds.Tables.Count < 1)
                {
                    return null;
                }            return ds.Tables[0];
            }
      

  2.   


    /// <summary>
            /// 带事务的批量操作数据。
            /// </summary>
            /// <param name="sqlInsert">SQL</param>
            /// <returns>操作是否成功</returns>
            public static bool OperateDatasWithTransaction(List<string> sqlList)
            {
                SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnStr"]);
                myConnection.Open();
                SqlCommand myCommand = myConnection.CreateCommand();
                SqlTransaction myTrans;
                // Start a local transaction
                myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
                // Assign transaction object for a pending local transaction
                myCommand.Connection = myConnection;
                myCommand.Transaction = myTrans;
                try
                {
                    foreach (string item in sqlList)
                    {
                        myCommand.CommandText = item;
                        myCommand.ExecuteNonQuery();
                    }
                    myTrans.Commit();
                    return true;
                }
                catch (Exception)
                {
                    myTrans.Rollback();
                }
                finally
                {
                    myConnection.Close();
                }
                return false;
            }//遍历datable,向数据库插入数据
     private bool input(System.Data.DataTable dt)
            {
                if (dt != null)
                {
                    try
                    {                    
                        List<string> L = new List<string>();
                        
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                if (dt.Rows[i].ItemArray[0].ToString() != "")
                                {
                                    string s = "insert into [Budget] values('" + dt.Rows[i].ItemArray[0] + "','" + dt.Rows[i].ItemArray[1] + "','" + dt.Rows[i].ItemArray[2] + "','" + dt.Rows[i].ItemArray[3] + "')";
                                    
                                    L.Add(s);
                                }
                            }
                     
                                            if (!OperateDatasWithTransaction(L))
                        {
                            success = false;
                        }                }
                    catch (Exception eer)
                    {
                        MessageBox.Show(eer.ToString());
                        success = false;
                        
                    }
                    if (success)
                    {
                        label1.Text = "导入成功";
                        
                            MessageBox.Show("预算资金总账导入成功!", "信息提示");
                        
                    }
                    else
                    {
                        label1.Text = "导入失败";
                        
                            MessageBox.Show("预算资金总账导入失败!", "信息提示");
                        
                    }
                }
                return success;
            }
      

  3.   


        private System.Data.DataTable GetExcelTable(string uploadPath)
            {
                DataSet ds = new DataSet();
              string strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(uploadPath); 
             string strSQL = "SELECT * FROM tablename" 
             OleDbConnection myConn = new OleDbConnection(strDSN);             
                
                try
                {                OleDbDataAdapter da = new OleDbDataAdapter(strSQL, myConn);
                    da.Fill(ds);
                   
                }
                catch
                {
                   
                    return null;
                }
                finally
                {
                    
                }            if (ds == null)
                {
                    return null;
                }            if (ds.Tables.Count < 1)
                {
                    return null;
                }            return ds.Tables[0];
            }不能连续4次回复