Avatar billede designer Nybegynder
10. oktober 2000 - 15:16 Der er 8 kommentarer

Sætte Connection string til dataEnviroment runtime???

Hej derude,
Er der nogen der kan fortælle mig hvordan jeg ændre/ sætter connection stringen til DataEnviroment runtime?
Jeg har døbt mit DataEnviroment \"DataConn\" og der er et connection objekt, der hedder MyConnection, har så prøvet......
DataConn.MyConnection.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;data source=\" & App.Path & \"\\data.mdb;\"
Hvilket bare resulterer i fejl kode 91, Object Variable or With Block Not set!
Og det nytter ikke meget at dim og set....
Avatar billede privaten Nybegynder
10. oktober 2000 - 16:03 #1
Har du husket Set bla. bla. bla.???
Avatar billede privaten Nybegynder
10. oktober 2000 - 16:05 #2
Sakset fra MS...

SYMPTOMS
Referencing an object that has not been instantiated results in this error:


\"Object variable or With block variable not Set\"
(Err = 91)



CAUSE
If you declare an object as in this example:



  Dim MyForm as Form1

you have allocated a reference to the object (similar to a pointer in the C programming language), but you have not allocated or instantiated the object itself.

Therefore, when the object is referenced in code as in this example:


  MyForm.Print \"Hello World!\"

the error message \"Object variable or With block not Set\" is generated.
Avatar billede designer Nybegynder
10. oktober 2000 - 16:30 #3
Hej i min kode for min dataCon  har jeg tilføjet:

Public WithEvents elevsystemdb As Connection

Private Sub DataEnvironment_Initialize()
    DataConn.MyConnection.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;data source=\" & App.Path & \"\\data.mdb;\"
End Sub

Jeg har prøbvet med

Dim DataConn As Object
Dim MyConnection As Connection

Men spørgsmålet er: Er DataConn et object, eller hvad er det?
Avatar billede moses Praktikant
11. oktober 2000 - 09:12 #4
Bare lige noget jeg slynger ud !

Set DataConn = Server.CreateObject(\"ADODB.Connection\")
Avatar billede bacadm Nybegynder
13. oktober 2000 - 12:14 #5
Det du mangler er at dimensionere dine \"Recordset\".

Dim Rs As Recordset


Set Rs = New Recordset

Bagefter skal du skrive hvad du ønsker fra din database ex.:

Rs.Open \"Select Printernavn from printercsv\", DataCon

Hust at lukke med nedenstående:

Rs.Close
DataCon.Close

/bacadm
Avatar billede bacadm Nybegynder
13. oktober 2000 - 13:59 #6
Du skal ikke brige et objekt for at hente data fra ex. en access database.

Du skal bruge en \"Connection\" og et \"Recordetset\"

Start med at bruge:

Dim DataCon As Connection
Dim Rs As Recordset

Set DataCon = New Connection
Set Rs = New Recordset

Hvis ovennævnte ikke virker kan \"DataCon\" erstattes med \"Con\".

/bacadm
Avatar billede designer Nybegynder
13. oktober 2000 - 14:04 #7
Hej Allesammen,

Lad mig lige stadfæste at jeg er professionel ASP programmør og har været det i mange år - ADO sidder på ryggraden.
Jeg tror ikke helt mit spørgsmål bliver forstået ret. I Visual Basic 6 har man noget der hedder \"Designers\", i sit workspace, ved siden af forms, etc. Under dette kan man lave en forbindelse til en database, etc. det er dens connectionstring jeg vil ændre....????
Avatar billede peep Nybegynder
27. november 2000 - 21:39 #8
hejsa

Du skal kun sætte din connection string til dataenv.(connection) ikke til de forskellige commands, medmindre du vil givet dem et nyt data env.(connection)

Du kan runtime ændre connection string for de data env. ved f.eks. at gøre det i initialize til connection objectet:

Private Sub DataEnvironment_Initialize()
\'forbinder med data fra logon

ADOCON_GD.ConnectionString = GL_ConString
End Sub

Hvor GL_Constring er din connection streng (string), som skal sætter til den provider du bruger Sql server, access etc.

Håber det hjælper
PeeP
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
Kurser inden for grundlæggende programmering

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