using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Configuration;
using MySql.Data.MySqlClient;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string ID;
string Assay;
string Well;
string Flag;
string SCO;
string Result;
string Value;
int index;
try
{
var files = from file in Directory.EnumerateFiles(@"\\192.168.10.6\\Export", "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
select new
{
File = file,
Line = line
};
foreach (var f in files)
{
Console.WriteLine("{0}\t{1}", f.File, f.Line);
using (StreamReader sr = new StreamReader(f.File))
{
string readLine;
do
{
readLine = sr.ReadLine();
if (readLine.Length > 1)
{
while (readLine != null)
{
string[] readLineSplit = readLine.Split('|');
ID = readLineSplit[0];
Assay = readLineSplit[1];
Well = readLineSplit[2];
Flag = readLineSplit[3];
Value = readLineSplit[4];
SCO = readLineSplit[5];
Result = readLineSplit[6];
InsertIntoDatabaseMethod(ID, Assay, Well, Flag, Value, SCO, Result);
}
}
} while (!sr.EndOfStream);
}
}
Console.WriteLine("{0} files found.", files.Count().ToString());
}
catch (UnauthorizedAccessException UAEx)
{
Console.WriteLine(UAEx.Message);
}
catch (PathTooLongException PathEx)
{
Console.WriteLine(PathEx.Message);
}
}
private static void InsertIntoDatabaseMethod(string ID, string Assay, string Well, string Flag, string Value, string SCO, string Result)
{
try
{
var connSettings = ConfigurationManager.ConnectionStrings["MyDB"];
string CN = connSettings.ConnectionString;
MySqlConnection conn = new MySqlConnection(CN);
conn.Open();
MySqlCommand cmd = new MySqlCommand("insert INTO testtable (PatientID, Assay, Well, Flag, Value, SCO, Result) VALUES (@id, @assay, @well, @flag, @value, @sco, @result)", conn);
{
cmd.Parameters.AddWithValue("@id", ID);
cmd.Parameters.AddWithValue("@assay", Assay);
cmd.Parameters.AddWithValue("@well", Well);
cmd.Parameters.AddWithValue("@flag", Flag);
cmd.Parameters.AddWithValue("@value", Value);
cmd.Parameters.AddWithValue("@sco", SCO);
cmd.Parameters.AddWithValue("@result", Result);
cmd.ExecuteNonQuery();
}
}
catch (MySqlException re)
{
Console.WriteLine(re);
}
}
}
}
Im getting Index was outside the bounds of the array error with this code.