我是读取csv文件到datagridview
然后想 做个 将csv文件保存到 access数据库最好可以来个 直接csv保存access 和 一个datagridview保存access。。谁会弄 我多给分啊。。

解决方案 »

  1.   

    CSV  http://www.codeproject.com/KB/database/CsvReader.aspxAccess    http://play.xuld.net/组合即可
     using(DbHelper sql = new OleDbHelper()){
                sql.SetConnectionString("(local)\\SqlServer", "userName", "password", "database");            sql.Execute("select * from table");  //执行
                while(sql.Read())
                    Console.Write(sql.DataReader["column"].ToString());        }
      

  2.   

    public partial class Form1 : Form
        {
            private OleDbConnection connection = null;
            private OleDbCommand selectCommand = null;
            private OleDbDataAdapter dataAdapter = null;
            private string connectionString = 
                @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\DB\Customers.mdb;Persist Security Info=True";        public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {
                connection = new OleDbConnection(connectionString);
                selectCommand = connection.CreateCommand();
                selectCommand.CommandText = "SELECT CustomerID, CompanyName, ContactName, Address, Phone FROM Customers";
                dataAdapter = new OleDbDataAdapter();
                dataAdapter.SelectCommand = selectCommand;
                DataTable data = new DataTable();
                dataAdapter.Fill(data);
                this.dataGridView1.DataSource = data;            OleDbCommandBuilder builder = new OleDbCommandBuilder(dataAdapter);
                dataAdapter.UpdateCommand = builder.GetUpdateCommand();
                dataAdapter.InsertCommand = builder.GetInsertCommand();
                dataAdapter.DeleteCommand = builder.GetDeleteCommand();
            }        private void button1_Click(object sender, EventArgs e)
            {
                DataTable data = (DataTable)this.dataGridView1.DataSource;
                DataTable changedData = data.GetChanges();            if (changedData != null)
                {
                    dataAdapter.Update(changedData);
                    data.AcceptChanges();
                }
            }
        }
      

  3.   

    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.OleDb;
    using System.Collections.Generic;namespace DBUtility
    {
        public abstract class OleDbHelper
        {
            private static Dictionary<string, OleDbParameter[]> parmCache = new Dictionary<string, OleDbParameter[]>();
            internal const int CommandTimeout = 3;        public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["SQLConnString1"].ConnectionString;
            public static readonly string ConnectionStringInventoryDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString2"].ConnectionString;
            public static readonly string ConnectionStringOrderDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString3"].ConnectionString;
            public static readonly string ConnectionStringProfile = ConfigurationManager.ConnectionStrings["SQLProfileConnString"].ConnectionString;                /// <summary>
            /// 获得连接对象
            /// </summary>
            /// <returns></returns>
            internal static OleDbConnection GetOleDbConnection()
            {
                return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=E:\\OhAsp.Net\\OhAsp.Net For Access\\Shuaishuai.OhAspNet.Web\\OH-ASP.NET-DB\\OHASPNETDB.mdb;");
            }        /// <summary>
            /// 返回受影响的行数
            /// </summary>
            /// <param name="cmdText">a</param>
            /// <param name="commandParameters">传入的参数</param>
            /// <returns></returns>
            public static int ExecuteNonQuery(string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand command = new OleDbCommand();            using (OleDbConnection connection = GetOleDbConnection())
                {
                    PrepareCommand(command, connection, CommandType.Text, cmdText, commandParameters);
                    int val = command.ExecuteNonQuery();
                    command.Parameters.Clear();
                    connection.Close();
                    return val;
                }
            }        public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand command = new OleDbCommand();            using (OleDbConnection connection = GetOleDbConnection())
                {
                    PrepareCommand(command, connection, cmdType, cmdText, commandParameters);
                    int val = command.ExecuteNonQuery();
                    command.Parameters.Clear();
                    connection.Close();
                    return val;
                }
            }        /// <summary>
            /// 返回SqlDataReader对象
            /// </summary>
            /// <param name="cmdText"></param>
            /// <param name="commandParameters">传入的参数</param>
            /// <returns></returns>
            public static OleDbDataReader ExecuteReader(string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand command = new OleDbCommand();
                OleDbConnection connection = GetOleDbConnection();
                try
                {
                    PrepareCommand(command, connection, CommandType.Text, cmdText, commandParameters);
                    OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
                    command.Parameters.Clear();                return reader;
                }
                catch
                {
                    connection.Close();
                    throw;
                }
            }
            public static OleDbDataReader ExecuteReader(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand command = new OleDbCommand();
                OleDbConnection connection = GetOleDbConnection();
                try
                {
                    PrepareCommand(command, connection, cmdType, cmdText, commandParameters);
                    OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
                    command.Parameters.Clear();                return reader;
                }
                catch
                {
                    connection.Close();
                    throw;
                }
            }
            /// <summary>
            /// 返回结果集中的第一行第一列,忽略其他行或列
            /// </summary>
            /// <param name="cmdText"></param>
            /// <param name="commandParameters">传入的参数</param>
            /// <returns></returns>
            public static object ExecuteScalar(string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand cmd = new OleDbCommand();            using (OleDbConnection connection = GetOleDbConnection())
                {
                    PrepareCommand(cmd, connection, CommandType.Text, cmdText, commandParameters);
                    object val = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    connection.Close();
                    return val;
                }
            }        public static object ExecuteScalar(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
            {
                OleDbCommand cmd = new OleDbCommand();            using (OleDbConnection connection = GetOleDbConnection())
                {
                    PrepareCommand(cmd, connection, cmdType, cmdText, commandParameters);
                    object val = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    connection.Close();
                    return val;
                }
            }
            /// <summary>
            /// 把一个参数数组存入缓存
            /// </summary>
            /// <param name="cacheKey">缓存参数数组使用的键</param>
            /// <param name="cmdParms">要缓存的一组参数</param>
            public static void CacheParameters(string cacheKey, params OleDbParameter[] commandParameters)
            {
                parmCache[cacheKey] = commandParameters;
            }        /// <summary>
            /// 从缓存中得到一个参数数组
            /// </summary>
            /// <param name="cacheKey">缓存参数数组使用的键</param>
            /// <returns>缓存的一组参数</returns>
            public static OleDbParameter[] GetCachedParameters(string cacheKey)
            {
                OleDbParameter[] cachedParms;
                if (!parmCache.TryGetValue(cacheKey, out cachedParms))
                    return null;            OleDbParameter[] clonedParms = new OleDbParameter[cachedParms.Length];            for (int i = 0, j = cachedParms.Length; i < j; i++)
                    clonedParms[i] = (OleDbParameter)((ICloneable)cachedParms[i]).Clone();            return clonedParms;
            }        private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, CommandType cmdType, string cmdText, OleDbParameter[] cmdParms)
            {            if (conn.State != ConnectionState.Open)
                    conn.Open();            cmd.Connection = conn;
                cmd.CommandText = cmdText;            cmd.CommandType = cmdType;
                cmd.CommandTimeout = CommandTimeout;            if (cmdParms != null)
                {
                    foreach (OleDbParameter parm in cmdParms)
                        cmd.Parameters.Add(parm);
                }
            }}
      

  4.   

    你们都是找的http://www.codeproject.com/KB/database/CsvReader.aspx
    但是我昨天用过 这个弄不了啊 读完了无法导入到datatableusing System.IO;
    using LumenWorks.Framework.IO.Csv;void ReadCsv()
    {
        // open the file "data.csv" which is a CSV file with headers
        using (CachedCsvReader csv = new
               CachedCsvReader(new StreamReader("data.csv"), true))
        {
            // Field headers will automatically be used as column names
            myDataGrid.DataSource = csv;
        }
    }
    就这个代码 读到的csv我不明白是什么数据类型的 貌似用不了。。 谁知道应该怎么用。
      

  5.   

    没人 会弄 大量数据的导入么。我纠结啊。。
    datagridview 批量 insert 到 access数据库
      

  6.   

    看这里 蛮不错的。
    http://wenku.baidu.com/view/38106db069dc5022aaea00ef.html