这是一张yx.txt文本
0112    aa    jj 
0234    bb    kk
0333    cc    ii
0422    dd    oo
0522    ff    ll
0644    gg    mm
0755    aa    nn
0866    bb    vv
我要读取后导入数据库表yy中
另xx.txt文本
1122    aa    jj 
8899    bb    kk
其中第1列为ID列导入表中是主键如果表中有数据3条ID为1122,8899和3322  到入时 将txt中ID1122,8899覆盖数据库表中的数据怎么做...求详细代码  谢谢
用.NET程序做

解决方案 »

  1.   

    第一个问题是txt导入库:public void ExecSQL()
            {
                string fPath = "c:\\aaa.txt";//获得要导入的文本文件                           
                string constr = xxxxxxxxxxxx;
                try
                {
                    using (SqlConnection conn = new SqlConnection(constr))
                    {
                        conn.Open();
                        SqlCommand com = new SqlCommand("BULK INSERT mytab.dbo.b FROM '" + fPath + "' WITH  (FIELDTERMINATOR = ' ',ROWTERMINATOR= '\n')", conn);
                        //其中的FIELDTERMINATOR=' '指明字段间所使用的分隔符为空格
                        //其中ROWTERMINATOR= '\n'指明记录间所使用的分隔符为回车
                        com.ExecuteNonQuery();
                        MessageBox.Show("数据导入成功!");
                        conn.Close();
                    }
                }
                catch(Exception exp)
                {
                    MessageBox.Show(exp.ToString());
                }
            }第2个你变下思路改改就行了
      

  2.   

    百度:asp.net 文本数据导入数据库
      

  3.   

    嗯  第一个这样写我也会  但是第2个怎么写啊  帮我想想被!!!!
    还有那个txt数据之间不是空格 是Tab键
      

  4.   

    会你还问...
    第2个问题一样啊,一行一行的读数据,第一列为ID,先判断ID是否存在,不存在就insert否则update
      

  5.   

     FileStream ifs = new FileStream("c:\\a.txt", FileMode.Open);//打开数据文件 
                StreamReader sr = new StreamReader(ifs);
                while (sr.ReadLine() != null)
                {
    //这就是一行行的读
    }
      

  6.   

    sorry,脑子有点热...FileStream ifs = new FileStream("c:\\a.txt", FileMode.Open);//打开数据文件  
                StreamReader sr = new StreamReader(ifs);
                int fileCount = 0;
                while (sr.Peek() > -1)//StreamReader.Peek()返回下一个可用字符,但不使用它
                {
                    Console.WriteLine(sr.ReadLine());
                    fileCount++;
                }
                sr.Close();这样
      

  7.   

    System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
                //...
                //连接数据库
                //...            DbDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("select * from yy", conn);
                DataTable dtYy = new DataTable();
                adapter.Fill(dtYy);
                StreamReader sr = new StreamReader(@"d:\yx.txt");
                string line = sr.ReadLine();
                while (line!=null)
                {
                    line = sr.ReadLine();
                    string[] lineCols = line.Split(new string[] { " " }, StringSplitOptions.None);                DataRow[] dtRows =  dtYy.Select("id=" + lineCols[0]);
                    if (dtRows.Length > 0)
                    {
                        dtRows[0]["column2"] = lineCols[1];
                        dtRows[0]["column3"] = lineCols[2];
                    }
                    else
                    {
                        DataRow dr = dtYy.NewRow();
                        dr["id"] = lineCols[0];
                        dr["column2"] = lineCols[1];
                        dr["column3"] = lineCols[2];
                        dtYy.Rows.Add(dr);
                    }                adapter.Update(dtYy);
                }
      

  8.   

    StreamReader sr = new StreamReader(@"d:\yx.txt");
      string line = sr.ReadLine();
      while (line!=null)
      {
      line = sr.ReadLine();
      string[] lineCols = line.Split(new string[] { " " }, StringSplitOptions.None);