如何用C#将文本内容导入到数据库,文本gps.txt内容如下:
$GPRMC,3033.4228,N,11419.0824,E
$GPRMC,3033.4173,N,11419.0799,E
数据库中的表主要有三个字段:Message ID,Latitude,Longitude,现需要将每条数据各属性值导入到数据库中,恳请各位高手帮忙指点,要实现上述功能应该怎样做,具体流程是怎样的,最好能够给出源程序代码,没有源代码希望能详细表述下具体流程!因为小女子刚开始接触c#编程,菜鸟一个,忘各位大哥大姐指点迷津!万分感激!

解决方案 »

  1.   

    http://alligator.blog.51cto.com/36993/102446
      

  2.   

    先把文本的数据读出来然后insert into 到数据库去
      

  3.   

    用StreamReader读出来,与insert的SQL语句拼接,然后使用ADO.net执行数据插入。
      

  4.   

    using(StreamReader sr=new StreamReader(path))
    {
    string contents=System.Text.Encoding.UTF8.GetString(.ReadAllBytes());
    //假设你是MSSQL数据库
    using(SqlConnection con=new SqlConnection("connectionstring"))
    {
    using(SqlCommand cmd=new SqlCommand ("insert into XXX(Message ID,Latitude,Longitude) values(@id,@latitude,@longitude)"),con)
    {
    con.Open();
    SqlParameters[]params={
    new SqlParameters("@id",SqlDbType.Int),
    new SqlParameters("@latitude",SqlDbType.NVarChar,100),
    new SqlParameters("@longitude",SqlDbType.NVarChar,100)
    };
    params[0].value=this.id;
    params[1].value=this.latitude;
    params[2].value=this.longitude;
    cmd.Parameters.add(params);
    cmd.ExcuteNonQuery();
    }
    }
    }
    大概这样了,具体你得调试;偶只写个大概。
      

  5.   

    先解析文本文件内容,然后形成SQL语句,写入数据库
      

  6.   

    private void button1_Click(object sender, EventArgs e)
            {            string MyFileName = @"E:\数据.txt";
                if (File.Exists(MyFileName) == true)
                {
                    StreamReader sr = null;
                    try
                    {
                        sr = new StreamReader(MyFileName, System.Text.Encoding.Default);
                        string line;
                        string[] date;
                        line = sr.ReadLine();
                        
                            char[] chars={';','\t'};
                            date = line.Split(chars);  把每行读出来放进数组  然后插入数据库
    using(SqlConnection con=new SqlConnection("connectionstring")) 

    using(SqlCommand cmd=new SqlCommand ("insert into XXX(Message ID,Latitude,Longitude) values(@id,@latitude,@longitude)"),con) 

    con.Open(); 
    SqlParameters[]params={ 
    new SqlParameters("@id",SqlDbType.Int), 
    new SqlParameters("@latitude",SqlDbType.NVarChar,100), 
    new SqlParameters("@longitude",SqlDbType.NVarChar,100) 
    }; 
    params[0].value=date[0] ; 
    params[1].value=date[1]; 
    params[2].value=date[2]; 
    cmd.Parameters.add(params); 
    cmd.ExcuteNonQuery(); 

                         
                        
                    }
                    catch (Exception exp)
                    {
                        MessageBox.Show("查看文件类型是否是文本型", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        MessageBox.Show(exp.Message);
                    }
                    finally
                    {
                        if (sr != null)
                        {
                            sr.Close();
                        }
                    }
                }        }
      

  7.   

    数据量如果太大的话,可以考虑用SQL LOADER
      

  8.   

    如果是sql server用bulk insert是最快的,而且一条sql语句就能完成
      

  9.   

    先把txt文本内容按行读到string变量,
    再使用split(",")生成一个数组
    生成一系列的insert语句
    循环或者批量插入数据库