当前位置:编程学习 > C#/ASP.NET >>

关于access表某些字段导入到sql表中



怎样将access数据库news表中title字段中的数据导入到SQL Server表metting中mtitle字段中呢。

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



--------------------编程问答--------------------

顶起来 --------------------编程问答-------------------- 看例子,从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];
        }

--------------------编程问答--------------------

/// <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;
        }
--------------------编程问答-------------------- 看错了,是ACCESS --------------------编程问答-------------------- --------------------编程问答--------------------

    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次回复
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,