Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

C# i Access: Ldb fajl ostaje iako sam uradio con.Close()

  • 4 odgovora
  • 3.323 pregleda

Najnovija ↓

C# i Access: Ldb fajl ostaje iako sam uradio con.Close() 30.03.2009. u 16:15 · pre 214 meseci #1
Pozdrav,

Radim nad podacima u Access bazi.

Ponekad (ponekad, ne uvek) mi se desava da iako zatvaram konekciju sa

Code:

con.Close();
con.Dispose();


.... ipak ostane aktivan LDB fajl. A to mi pravi problem, jer mi aplikacija padne kada naredni put pokusam da izvrsim upit.

Kako bih mogao da prevazidjem ovaj problem?

Hvala unapred!


Re: C# i Access: Ldb fajl ostaje iako sam uradio con.Close() 30.03.2009. u 20:01 · pre 214 meseci #2
Ovako... Probao sam sa sledecim:

Code:

            while (con.State != ConnectionState.Closed)
            {
                con.Close();
            }


Iako mi se cini da se problem javlja malo redje, on se i dalje javlja,


Please help!

Re: C# i Access: Ldb fajl ostaje iako sam uradio con.Close() 06.04.2009. u 08:38 · pre 213 meseci #4
Evo ovako izgleda code:


Code:

string connectReport = "Provider=Microsoft.JET.OLEDB.4.0;data source=" + MyClass.dbName;
OleDbConnection conReport1 = new OleDbConnection(connectReport);
conReport1.Open();

/* delete all records from report table */
sql = "delete from DataUnion";
OleDbCommand cmdTruncate = new OleDbCommand(sql, conReport1); // creating query command
OleDbDataReader readerTrncate = cmdTruncate.ExecuteReader(); // executes query
//Console.WriteLine(sql);
cmdTruncate.Dispose();
while (conReport1.State != ConnectionState.Closed)
{
    conReport1.Close();
    conReport1.Dispose();
}


OleDbConnection conReport2 = new OleDbConnection(connectReport);
conReport2.Open();
/* Reset autoNumer value */
/* puca u ovom delu, predpostavljam da nije zavrsio brisanje selektovanih recorda iz predhodnog dela */
sql = "ALTER TABLE DataUnion ALTER COLUMN Id COUNTER(1,1)";
OleDbCommand cmdReset2 = new OleDbCommand(sql, conReport2); // creating query command
OleDbDataReader readerReset2 = cmdReset2.ExecuteReader(); // executes query
cmdReset2.Dispose();
while (conReport2.State != ConnectionState.Closed)
{
    conReport2.Close();
    conReport2.Dispose();
}


Any ideas?
Re: C# i Access: Ldb fajl ostaje iako sam uradio con.Close() 06.04.2009. u 09:29 · pre 213 meseci #5
Što za UPDATE i DELETE komande pozivaš ExecuteReader()? Kod SELECT komandi ti je potreban Reader zato što one vraćaju podatke, dok se UPDATE i DELETE izvršavaju sa ExecuteNonQuery() koji vraća integer(affected rows). Takođe imaš i ExecuteScalar() i on se koristi kada imaš SQL koji vraća jedno polje tipa "SELECT COUNT(*) FROM Studenti".
Probaj da uradiš na ovaj način pa reci da li ti se još uvek javlja problem.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme