Avatar billede pablopablo Nybegynder
22. marts 2005 - 11:59 Der er 6 kommentarer og
1 løsning

Hjælp til exception

Hejsa...

Jeg har en winform som bla. indlæser data fra en xml fil, denne fil kunne ligge på en cd eller en usb pen...Mit problem er, at selv efter formen har indlæst data og vist det til brugeren i GUI'en, så vil den ikke have at jeg fjerner sourcen igen? hvis jeg alligevel gør det, så kommer den med denne fejl næste gang jeg prøver at tilgå min database, trods den jo ikke umiddelbart har noget at gøre med dette, idet det eneste der bliver foretaget er at indlæse data til nogle textFelter mv...der er ingen db adgang indblandet i dette, men alligevel påvirker det formen således, at den ikke længere kan bruge databasen...?

Fejlbeskrivelse :

"Microsoft JET Database Engine"
"Programmet kan ikke startes. Arbejdsgruppeoplysningsfilen mangler eller er åbnet med udelt adgang af en anden bruger."

Min kode ser således ud, den fejler i linier forb.Open();

if(databaseForbindelse!=null)
                {
                    if(databaseForbindelse!="")
                    {
                        if(SQLForespørgsel!=null)
                        {
                            if(SQLForespørgsel!="" && dt!=null)
                            {
                                //Sætter nu forbindelsen til den rigtig databse (Access-fil)
                                forb = new OleDbConnection(databaseForbindelse);
               
                                //Hvis forbindelsen til databasen er lukket åbnes den - ellers ikke.
                                ConnectionState cs = forb.State;
                                if(cs.ToString()=="Closed")
                                    forb.Open();
           
                                //Angiver nu at forespørgsel skal udfører på den ønskede database forbindelse
                                adapter.SelectCommand = new OleDbCommand(SQLForespørgsel,forb);
               
                                //Sletter evt. rækker fra dataTabellen
                                if(dt.Rows.Count!=0)
                                    dt.Clear();

                                //Lægger de fundne(matchende) rækker fra databasen ind i datatabellen.
                                fyldDataIDataTable(adapter,dt);
                            }
                        }
                    }
                }
Avatar billede arne_v Ekspert
22. marts 2005 - 12:09 #1
En data adapter forventer jo at den beholder forbindelsen, da du jo måske
senere vil bruge den til at opdatere databasen med dine ændringer.
Avatar billede pablopablo Nybegynder
22. marts 2005 - 12:13 #2
ikke forstået...? Den første handling har jo intet med databasen at gøre...det er bagefter jeg har indlæst filen og benytter databasen at den fejler og det er koden fra klassen som håndtere db-adgang jeg har postet...
Avatar billede arne_v Ekspert
22. marts 2005 - 12:25 #3
Og hvis ikke du læser den XML fil ind så kan du gådt åbne databasen ?
Avatar billede pablopablo Nybegynder
22. marts 2005 - 12:32 #4
ja, uden problemer...jeg kan også fint tilgå databasen, hvis jeg lader usb-pennen med xml filen sidde i computeren...men hvis jeg har indlæst filen og fjerner usb-pennen og udføre en søgning i databasen, ja så komer den med den fejl...?-(
Avatar billede pablopablo Nybegynder
22. marts 2005 - 14:02 #5
Hej igen...der er 3 steder i programmet hvor man kan indlæse data, forskelligt data, men ligegyldigt hvad fejler db-adgangen efter indlæsning af data når sourcen er fjernet...så det virker altså ikke somom det er noget specifik kode som fejlen ligger i, men mere det i sig selv, at formen har læst fra en source som ikke længere eksistere når en ny db-adgang ønskes, hvilket gør at den fejler...?? har tjekket at den kigger efter databasen det korrekte sted, som den plejer når man ikke har indlæst data først...fejlen kommer ikke hvis usb-pennen bliver siddende i maskinen eller hvis data indlæses fra harddisken...??
Avatar billede pablopablo Nybegynder
22. marts 2005 - 16:59 #6
hhmm...har fundet ud af, at det faktisk KUN er disse linier, som er nok til at fucke det op...

OpenFileDialog ofd = new OpenFileDialog();

                try
                {
                    ofd.InitialDirectory = "C:\\";
                }
                catch(Exception){}

                DialogResult valg1 = ofd.ShowDialog();

og selvfølgelig at man vælger en fil som ligger en en clip eller lign. som kan fjernes bagefter...Men det er sgu da for sort, at den går kold over det...?? ligemeget om jeg disposer OpenFileDialog'en fejler den stadig...? hvor pokker gemmer den de information henne, eller hvordan kan den blokkere for database adgangen??
Avatar billede pablopablo Nybegynder
23. marts 2005 - 01:40 #7
oprettet et nyt spg...http://www.eksperten.dk/spm/602762
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester