Link to home
Start Free TrialLog in
Avatar of Tech_Men
Tech_MenFlag for Israel

asked on

reading from a file

hi there , i have a very a problem when i read from a file to my App
i am on WinForm c# .

this is the code that read the file :

sqlConnection1.Close();
                  IDbCommand cmdGetPath = sqlConnection1.CreateCommand();

                  cmdGetPath.Parameters.Clear();

                  cmdGetPath.CommandText="Select @FilePath=FileToReadPath from Bakara";
                  SqlParameter path = new SqlParameter("@FilePath",SqlDbType.VarChar,50);
                  path.Direction=ParameterDirection.Output;


                  cmdGetPath.Parameters.Add(path);

                  sqlConnection1.Open();
                  cmdGetPath.ExecuteNonQuery();
                  sqlConnection1.Close();

                  string FilePath=path.Value.ToString();
                  
                  StreamReader sr = new StreamReader(FilePath);
      
                  string input = sr.ReadToEnd();
                  sr.Close();
                  Regex re = new Regex(@"(?<ProdKey>[\d-]+)\s+(?<Quant>-\d+)",
                        RegexOptions.Compiled);
                  MatchCollection mc;
                  
                  comboBox1.Text="drawing";

                  mc = re.Matches(input);
                  foreach( Match m in mc )
                  {
                        // Get the information from the Regex object
                        string ProdKey = m.Groups["ProdKey"].Value;
                        
                        NewConn.ConnectionString=BizLog.Conn.ConnString();
                        IDbCommand CmdRunOver=NewConn.CreateCommand();
                        CmdRunOver.CommandText="SELECT ProRunID,ProKey from Products";
                        NewConn.Open();
                        IDataReader reader = CmdRunOver.ExecuteReader();
                        while (reader.Read())
                        {
                              if (ProdKey==reader["ProKey"].ToString())
                              {
                                    int QuantitySold = Convert.ToInt32(m.Groups["Quant"].Value);
                                    tbCodeParit.Text=ProdKey.ToString();
                                    tbKamot.Text=QuantitySold.ToString();
                                    tbAsmhata.Text="999";
                                    try
                                    {
                                          button1.PerformClick();
                                    }
                                    catch
                                    {
                                    }
                              }

                              }
                        NewConn.Close();
                        reader.Close();
                        }
                  this.tbAsmhata.Clear();
                  this.tbKamot.Clear();
                  this.tbCodeParit.Clear();
                  this.lblPname.Text="";
                                    
                  string Dir=System.IO.Path.GetDirectoryName(FilePath);
                  DirectoryInfo dirInfo = new DirectoryInfo(Dir);
                  DateTime dtYez = new DateTime();
                  foreach ( FileInfo f in dirInfo.GetFiles() )
                  {
                        if( f.Extension.Equals(".DOC") && (f.Name.Equals("PRESTO.DOC") ) )
                        {
                              dtYez = DateTime.Parse(f.CreationTime.ToString());
                              f.Delete();
                              statusBar1.Text="File is del !!!";

                        }
                  }
                  Bt.klitatTenoa(dtYez,DateTime.Now);

                              
            }
this is the file txt :


                                                                 -2          422
                                                                 -4          425
                                                                 -5          544
                                                                 -4          545
                                                                 -1          566
                                                                 -5          574
                                                                 -1          593
                                                                 -1          596
                                                                 -2          652
                                                                 -2          679
                                                                 -2          681
                                                                 -1          709
                                                                 -3          713
                                                                 -2          715
                                                                 -3          720
                                                                 -2          754
                                                                 -1          813
                                                                 -5          832
                                                                -79         3022
                                                                -60         3029
                                                                -30         3030
                                                               -115         3100
                                                                -56         3110
                                                                -30         3117
                                                               -123         3120
                                                                -77         3125
                                                               -227         3127
                                                               -202         3128
                                                               -103         3140
                                                                -82         3141
                                                                -70         3142
                                                                -49         3144
                                                                -75         3146
                                                               -107         3150
                                                                -75         3151
                                                                -75         3205
                                                                -45         3222
                                                                  1         3223
                                                                -50         3231
                                                                -50         3232
                                                               -107         3233
                                                               -227         3236
                                                                -75         3305


now when he read the ProductsKey and quantity the reading is worng he read the first ProKey like 422 and the second quant like -4 i dont know why he dose it is anyone here can help me to solve that problem that i have ??

i need to read 422 and -2 like the first Products row in the file
SOLUTION
Avatar of pgloor
pgloor

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tech_Men

ASKER

u are write its seems to be good now eccsept to this line 3223 he skip over

how can i get this line 2 ?

i must to get the Postive number to the APP .
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
soory but its not working its dosent read any :-(
this line is working good :

Regex re = new Regex(@"(?<Quant>-\d+)\s+(?<ProdKey>[\d-]+)", RegexOptions.Compiled);

but its dosent read to row whit postive number like             1         3223

how can i read pos an neg numbers in this Reg Line?
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
i dont think that thie will be the problem .... its working great ..  i love u all ... thanks !!!