Как я могу вставить в базу данных после первой вставки? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть база данных, и я хочу вставить в нее некоторые данные. Сначала я вставляю 4 разных типа данных. После этого я должен вставить еще одну вещь. Я сделал 2 функции, чтобы сделать это. После того, как я выполню первый в загрузке формы, второй не запускается.

Я попытался выполнить некоторую отладку, показав сообщение после первого звонка, но ничего не произошло.

string sir;
string[] siruri;
OleDbCommand cmd;
StreamReader f;
public Form1()
{
    InitializeComponent();
}

private void add()
{
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TurismDB.accdb");
    con.Open();
    f = new StreamReader("Vacante.txt");
    while ((sir = f.ReadLine()) != null)
    {
        siruri = sir.Split('|');
        cmd = new OleDbCommand("INSERT INTO Vacante(NumeVacanta , Descriere , Pret , NrLocuri) VALUES(@nume , @descriere , @pret , @nr)", con);
        cmd.Parameters.AddWithValue("@nume", siruri[0].Trim());
        cmd.Parameters.AddWithValue("@descriere", siruri[1].Trim());
        cmd.Parameters.AddWithValue("@pret", siruri[2].Trim());
        cmd.Parameters.AddWithValue("@nr", siruri[3].Trim());
        cmd.ExecuteNonQuery();
    }
    con.Close();

}
private void add2()
{
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=TurismDB.accdb");
    con.Open();
    string path = @"C:\Users\Elev\Desktop\alkin\Turismul de pretutindeni\Turismul de pretutindeni\bin\Debug\Imagini";
    string result = Path.GetFileName(path);
    cmd = new OleDbCommand("SELECT * FROM Vacante", con);
    OleDbDataReader reader = cmd.ExecuteReader();
    DirectoryInfo d = new DirectoryInfo(path);
    FileInfo[] files = d.GetFiles("*.jpg");

    while (reader.Read())
    {
        MessageBox.Show(reader[1].ToString());
        foreach (FileInfo file in files)
        {
            if (reader[1].ToString() == file.Name)
            {
                OleDbCommand cmd1 = new OleDbCommand("INSERT INTO Vacante(CaleFisier) VALUES(@cale)", con);
                cmd1.Parameters.AddWithValue("@cale", file.Name);
                cmd1.ExecuteNonQuery();
            }
            else
            {
                OleDbCommand cmd1 = new OleDbCommand("INSERT INTO Vacante(CaleFisier) VALUES implicit.txt", con);
                cmd1.ExecuteNonQuery();
            }
        }
    }
}
private void Form1_Load(object sender, EventArgs e)
{
    add();
    add2();
}
...