回 帖 发 新 帖 刷新版面

主题:[原创]【求助】如何在C#中将文本文件导入到Access中..在线等

具体情况如下:
    需要将一个文本文件(也有可能不是文本文件,但是其中的数据是简单的数字)中的数据导入到Access数据库中。例如文本文件中有以下数据:
    120  300  200
    231  674  356
如何将之导入到一个Access数据库中呢?
    我在网上查到在VBA中可以使用docmd.TransferText函数实现此功能,但是在C#中我还没有找到类似的函数,请各位高手帮忙,指点一下迷津,谢谢。

回复列表 (共2个回复)

沙发

我也想学 
帮帮忙

板凳

txtImport.txt文件內容如下
120,300,200
231,674,356



       private void button1_Click(object sender, System.EventArgs e)
        {
            string connectionString;
            connectionString="Server=purana;DataBase=test;Integrated Security=SSPI";
            SqlConnection conn;
            StreamReader infile=File.OpenText(@"D:\CSharp\txtImport.txt");
            try
            {
                conn=new SqlConnection(connectionString);
                conn.Open();
                try
                {
                    SqlCommand insertCommand = new SqlCommand();
                    insertCommand.Connection=conn;
                    insertCommand.CommandText="Insert Into test_table(ID,name,password) Values(@ID,@name,@password)";
                    insertCommand.Parameters.Add(new SqlParameter("@ID",SqlDbType.Char,10));
                    insertCommand.Parameters.Add(new SqlParameter("@name",SqlDbType.Char,10));
                    insertCommand.Parameters.Add(new SqlParameter("@password",SqlDbType.Char,10));

                    while(infile.Peek() > -1)
                    {
                        string instr=infile.ReadLine();
                        string[] inData=instr.Split(',');
                        insertCommand.Parameters["@ID"].Value=inData[0];
                        insertCommand.Parameters["@name"].Value=inData[1];
                        insertCommand.Parameters["@password"].Value=inData[2];
                        insertCommand.ExecuteNonQuery();
                    }
                    MessageBox.Show("導入成功");
                }
                catch(Exception ex)
                {
                    MessageBox.Show("無法打開"+ex.Message );
                }
                finally
                {
                    if(conn!=null)
                        conn.Close();
                }
            }
            catch
            {
                MessageBox.Show("無法連接");
            }
        }

我来回复

您尚未登录,请登录后再回复。点此登录或注册