现在有一个应用程序,需要在一个windows窗体中,按下一个button按钮,弹出一个选择路径对话框,将一个文本文件中的信息导入到数据库中去,该文本文件中的数据有两列,分别是ID和code,(如:1001100110011001 8080808080)(ID16位,Code10位两者之间用空格分割,不同行用回车分割,该文本文件可能有上万行数据),选择该文本文件后,按下确定按钮,将该文本文件中的内容导入到数据库(SQL SERVER2005)中去,数据库(Query),表(Test),中有相对应的ID和Code两列,然后在windows窗体中分别有两个文本框,输入ID可以查出相对应的code)(注意:在导入的过程中,要有错误提示,如ID或Code列任意一列中的信息包含非数值型,且ID和Code列是一一对应的关系,如过有重复要有提示)因为很急,拜托高手了!!!!

解决方案 »

  1.   

    用到的有:
    文本文件读取方法
    数据库数据insert方法
    select方法
      

  2.   

    1、选择路径与文本openfiledialog 返回路径
    2、filestream读取文本文件
    3、分割字符串 string.split('空格')
    4、判断是否有非数字,可以用foreach遍历所有字符,也可以用正则表达式,例如 \d{10} 判断前10位是否都为数字
    5、判断数据库内ID是否已存在,查询数据库SqlDataReader=cmd.ex..reader,如果read()==true则表示已存在 
    6、如果存在则不添加只更新该ID的数据其他项,如果ID不存在,则存入数据库
      

  3.   

    如果可把文本文件格式成cvs,或者其他的格式,可以转成excel或者access,再导入数据库。最笨的办法,就是用文件流readline,切割字符串,然后运行insert语句。
      

  4.   

    文本文件读取的这个如下:System.IO.StreamReader sr = new System.IO.StreamReader(@"...\1.txt", Encoding.Default);
                while (sr.Peek() > 0)
                {
                    string s = sr.ReadLine();
                    string[] ss = s.Split(' ');
                    string id = ss[0];
                    string code = ss[1];
                }
      

  5.   

    获取文本文件路径用OpenFileDialogue但如何将值返回到System.IO.StreamReader sr = new System.IO.StreamReader(@"...\1.txt", Encoding.Default); 
                while (sr.Peek() > 0) 
                { 
                    string s = sr.ReadLine(); 
                    string[] ss = s.Split(' '); 
                    string id = ss[0]; 
                    string code = ss[1]; 
                } 
      

  6.   


    第一个问题,关于对话框返回文件路径的,
    System.IO.StreamReader sr = new System.IO.StreamReader(@"...\1.txt", Encoding.Default);  中改为
    System.IO.StreamReader sr = new System.IO.StreamReader(OpenFileDialog1.Filename, Encoding.Default);  
    第二个问题:判断数字
    比如现在获得了这两个字符串为string id和string code
    int.tryParse()方法,返回值如果为true则表示为数字。