关于C#读取文件.....并插入数据库操作方法

  public static DataSet TextFileLoader(string FilePath, string TableName, string[] FieldsInArray)
        {
            DataSet ds = new DataSet();//创建一个数据集对象
            DataTable dt = new DataTable(TableName); //创建一个数据表

            FileStream fs = File.Open(FilePath, FileMode.Open, FileAccess.Read); //文件流说明方式        
            //Encoding targetEncoding = GetEncoding(fs, "gb2312");
            StreamReader sr = new StreamReader(fs,Encoding.Default);//读入

          for (int i = 0; i < FieldsInArray.Length; i++) //数据库字段
           {
               dt.Columns.Add(new DataColumn(FieldsInArray[i], typeof(string)));//添加列
           }

           string strRead; //声明一个字符串
           bool flag = true; //声明一个标识

            while (flag)
           {
             
              strRead = sr.ReadLine();
              if (!string.IsNullOrEmpty(strRead))
               {
                   
                  string[] aryVale = strRead.Split ('\t');

                  for (int i = 0; i < aryVale.Length; i++)
                  {
                      if (aryVale[i].Contains("CZ88.NET"))
                      {
                          aryVale[i] = aryVale[i].Replace("CZ88.NET", "");//替换
                      }
                  }
                  DataRow dr = dt.NewRow(); //得到数据行
                  DataColumn dm = new DataColumn();
                 
                 
                  //dt1.Columns.Add("名称");
                  //dt1.Columns.Add("价格");
                  //dt1.Columns.Add("数量");
                  for (int k = 0; k < aryVale.Length; k++)
                   {
                      dr[FieldsInArray[k]] = aryVale[k];
                 }
                  dt.Rows.Add(dr);
                 
               }
               else
               {
                   flag = false;
               }
          }
           ds.Tables.Add(dt);
            return ds;            

        }

        public void Bind() {

            string[] FieldsInArray = { "CountStartip", "CountEndip", "CountCountry" };//数据库字段
            DataSet ds = new DataSet();
             //方法调用
            ds = TextFileLoader(@"E:\WebSite1\2.text ", "Count_IplocalTable", FieldsInArray);
            this.GridView1.DataSource = ds;
            this.GridView1.DataBind();
        }

        public void EnQeruy(DataSet ds)
        {
           
            using (SqlConnection con = new SqlConnection("sever=.;database=ip;uid=sa;pwd=sa;"))
            {

                SqlTransaction trans = con.BeginTransaction();//创建事物;

                try
                {
                   
                    SqlCommand cmd = new SqlCommand();
                    cmd.ExecuteNonQuery();
                    trans.Commit();
                    for (int i = 0; i < ds.Tables[0].Rows; i++)
                    {
                        DataRow dr = ds.Tables[0].Rows[i];
                        string sqlstr = "insert into insert into Count_Iplocal([CountStartip],[CountEndip],[CountCountry])values('" + dr[0] + "'," + dr[1] + "," + dr[2] + ")";


                    }
                }
                catch
                {
                    trans.Rollback();
                }
            }
            

        }

posted @ 2012-02-27 19:10  KyrieYang  阅读(1219)  评论(0编辑  收藏  举报