09. oktober 2003 - 00:52Der er
23 kommentarer og 1 løsning
Datalinks og udl-filer
Når man skal lave en ADO-forbindelse til en Acces-database kan man vælge mellem et datalink eller en Datastring-string-forbindelse.Har kun prøvet Datastringforbindelsen (og iøvrigt glædet mig over muligheden for at slette stien og kun skrive navnet, hvis man bruger samme bibl. som programmet).Hvis jeg prøver at se hvor 'browse' med datalink fører mig hen får jeg en preference med udl-filer og der ligger en udl-fil med dbdemos.Er det en Acces-version af dbdemos eller hvordan er denne udl-konvertering fremkommet ?.Kan jeg osse lave en udl-fil og få en af mine gamle 'håbløse' BDE-drevne databaser til at indgå i ADO-sammenhæng ?.Og i givet fald: er det meget svært ?.Og hvordan gør man eventuelt.Kan der gives eller henvises til eksempler ville jeg da synes det var spændende.
Har aldrig helt fattet hvorfor folk vil bruge UDL filen for at lave en forbindelse til en database !? Det nedsætter da muligheden for let at konfigurere hvor programmet skal kigge efter ens database. Personligt foretrækker jeg selv at opbygge ADOConnection'ens ConnectionString og så hente navnet (og evt. sti) til databasen i enten en INI fil eller i reg.db'en.
Mht. at konvertere en BDE applikation til ADO, så er det ikke det helt store problem. Nu kender jeg selvfølgelig ikke noget til dit program, men det meste af din SQL vil du kunne kopiere direkte uden at skulle lave nogen ændringer.
En UDL fil er blot din connection string i en fil med .udl extention. Ideen er at du slipper for at skulle rette/recompile din app, hvis du flytter din db eller f.eks. ændre til en anden type.
Jeg kan ikke rigtig se den store forskel i at benytte en udl eller selv at gemme tingene i en ini eller reg...
doc404: Hvis du inde fra dit program skal kunne rette hvor databasen ligger, så er det (synes jeg i hvert fald) lettere at rette i en INI fil eller i reg.db'en i forhold til en alm tekst fil. På den måde gemmer du også mindre data (ja ja, er godt klar over det kun er få bytes man sparer) da man jo kun behøver at gemme selve navnet (og en evt. sti) til databasen (Data Source delen) - resten er jo standard som man kan have liggende i konstanter i programmet.
Borrisholt: dit eks. fik jeg forleden dag http://www.eksperten.dk/spm/409310 og jeg må indrømme at det var det der satte tankerne i gang, men du har jo fået 200 points for det selvom det faktisk ikke lykkedes mig at bruge det til at klikke mig ind i et memofelt/dbmemo via en listbox.Har knoklet med det i flere dage og har omsider opgivet og vendt mig mod andre udfordringerProblemet er at databasen indeholder flere tabeller og datasættet kan ikke operere med en åben tabel er derfor begyndt at studere jørn Slots gamle bog om databaser (paradox) og ville formodentlig kunne få de ønskede effekter hvis jeg kunne bruge disse eksempler i ADO-sammenhæng. Stoney: Det lyder spændende med dine eksempler: har lagt min mail, men det haster ikke hvis du kan oploade senere i dag eller i morgen er det hyperfint. mvh jaan
Borrisholt: Hvis du kunne vise mig i dit eks., hvordan man ved klik i listbox1 fik tabellen åbnet i en dbgrid i stedet for at vise felterne i listbox2 ville jeg med taknemmelighed fordoble pointene (det bliver nok nødt til at blive et nyt spm.).Det er noget indviklet noget 'master/detailprojekter, og en lille genvej ville ikke være af vejen
Borrisholt: Jo det er genialt.Nu kan jeg komme videre.Tak.Hvis du vil have points må du lægge svar i det oprettede spm. om master/detailproj., da dette spm jo osse havde andre aspecter.Det er ikke for at være besværlig, men der har været noget disput om man må uddele points i underspm.
Snowball og doc404: ini og reg db er 'russisk' for mig.Har åbnet udl-filen og set at det 'bare' er en strenghenvisning til en Acess-copi af DbDemos og det kan jeg godt se der ikke er meget spøg ved.Jeg troede som antydet at det var en slags måde at forbinde til Paradox-filer med ADO og det ville da glæde mig hvis Stoney har et 'trick' jeg formår at bruge i denne sammenhæng. (snowball: atter engang tak for dit 'søg i memo-program' fra sidste uge.Jeg er stadig nærmest 'bevæget' over at det kunne lade sig gøre selv om det kniber noget med at fatte den for mig avancerede kode.Kan det passe at den ikke vil søge i ord med æ,ø og å ?.Nå, det er altså en meget lille ting i den sammenhæng).
Okay, jeg har godt lidt problemer med det. Jeg kan sagtens læse fra en paradox, jeg kan bare ikke få den til at skrive til den. I'm still working on it :-)
janbb: Ja, en UDL fil er bare det samme som man selv kan skrive i sin ConnectionString property på ADOConnection, så der er ikke noget videre smart i at bruge den.
Det med INI filer er slet ikke så svært. Har sendt dig et lille eksempel som viser hvordan man henter stien til en database fra en INI fil.
Mht. at kunne søge efter æøå, så har jeg ikke nogen problemer med det, så jeg ved ikke lige hvorfor den ikke vil hos dig.
snowball: Det virker ret smart med de ini-filer.Dit eksempel fungerer osse fint, men jeg forstår ikke hvad der sker i forbindelse med 'Savesettings'-knappen.Der sker tilsyneladende ingen ændringer i inifilen fra det aktulle bib..Det går fint hvis man editerer i editfeltet.Osse når man ændrer DB-navnet manuelt i programmet og inifilen.Så det er en smart måde. Savesettings er det bare en teknisk formalitet eller er der 'noget at forstå' ?
forts: udfra koden ville jeg egtl. have troet at 'den' 'bare' ændrede teksten i ini-filen, men i virkeligheden ødelægges muligheden for at aktivere DB'en fremover i programmet.Nå, det lader til at det alligevel er lidt for 'russisk'. Men da Stoney og doc404 ikke har meldt sig endnu må du få points for dine tiltag, der gjorde mig lidt klogere på ini-filer.
Synes godt om
Ny brugerNybegynder
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.