Avatar billede tjgrindsted Nybegynder
09. februar 2007 - 23:35 Der er 19 kommentarer og
2 løsninger

kan det laves mindre og hvad med connstring

Hej

Jeg har endelig fået dette til at virke, men jeg har dog lige 2 spm. til det.

1. Kan det skrives så det virker bedre/hurtigere !?
2. min DBConnection = New OleDbConnection( _
          "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=C:\Documents and Settings\site\App_Data\myDSNbase.mdb")
virker ok men kan ikke få den til at virke så den bruger min:
    <connectionStrings>
        <add name="ConnectionDogs" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\myDSNbase.mdb;Persist Security Info=True"/>
    </connectionStrings>

har prøvet at ændre min kode til:
DBConnection = New OleDbConnection(ConfigurationManager.AppSettings("ConnectionDogs"))

Hvorfor vil det ikke virke !?   

kode til spm. 1:
    Dim DBConnection As OleDbConnection
    Dim DBAdapter As OleDbDataAdapter
    Dim DBDataSet As DataSet
    Dim DBDataView As DataView
    Dim SQLString As String

    Sub Page_Load()

        DBConnection = New OleDbConnection( _
          "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=C:\Documents and Settings\Jacki\Dokumenter\Billeder\Cairn Terrrier\site\site\App_Data\kennelenggaardDSNbase.mdb")
        SQLString = "SELECT * FROM KennelEnggaardDogs"
        DBAdapter = New OleDbDataAdapter(SQLString, DBConnection)
        DBDataSet = New DataSet()
        DBAdapter.Fill(DBDataSet, "KennelEnggaardDogs")
        DBDataView = New DataView(DBDataSet.Tables("KennelEnggaardDogs"))
        DisplayRepeater.DataSource = DBDataView
        DisplayRepeater.DataBind()

    End Sub

    Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
        DBConnection.Close()
        DBConnection = Nothing
        DBAdapter.Dispose()
        DBAdapter = Nothing

    End Sub
Avatar billede kalp Novice
10. februar 2007 - 01:10 #1
på stående fod kan jeg ikke lige huske hvordan du hiver din connection ud sådan der, men hvis du retter lidt i din app- eller web.config fil så den ser sådan ud

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
    <add key="ConnectionDogs" value="Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=C:\Documents and Settings\site\App_Data\myDSNbase.mdb" />
    </appSettings>
</configuration>

så vil den du laver herunder virker.

DBConnection = New OleDbConnection(ConfigurationManager.AppSettings("ConnectionDogs"))
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 09:41 #2
du henter connectionstring på denne måde:
DBConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionDogs"].ConnectionString)
Avatar billede tjgrindsted Nybegynder
10. februar 2007 - 10:39 #3
Hej
Okay så det er sådan det virker så hvis:
<connectionStrings>
  <add name="ConnectionDogs" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\myDSNbase.mdb;Persist Security Info=True"/>
</connectionStrings>
så er det
DBConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionDogs"].ConnectionString)

og hvis det er:
<appSettings>
    <add key="ConnectionDogs" value="Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=C:\Documents and Settings\site\App_Data\myDSNbase.mdb" />
    </appSettings>
så er det
DBConnection = New OleDbConnection(ConfigurationManager.AppSettings("ConnectionDogs"))

MEN hvad er bedst at bruge af de to !??
Avatar billede kalp Novice
10. februar 2007 - 10:48 #4
Det er i princippet det samme, men du bør benytte den første da du på den måde samler dine connectionStrings der hvor de mener du bør gøre de i .NET
Avatar billede tjgrindsted Nybegynder
10. februar 2007 - 11:39 #5
jeg vil godt sige tak til jer begge, vil i lægge et svar.
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 12:06 #6
svar :)
Avatar billede kalp Novice
10. februar 2007 - 16:22 #7
og et svar til:O)
Avatar billede tjgrindsted Nybegynder
10. februar 2007 - 18:07 #8
Gawi lige et svar tak :)
Avatar billede kalp Novice
10. februar 2007 - 18:16 #9
Doh!

sorry:)
Avatar billede tjgrindsted Nybegynder
10. februar 2007 - 18:16 #10
hvis jeg forresten får denne fejl med eks. 1..

Beskrivelse: Der opstod en fejl under kompilering af en ressource, der er påkrævet ved behandling af denne anmodning. Læs følgende detaljer om fejlen, og foretag de nødvendige ændringer af kildekoden.

Fejlmeddelelse om kompileringsfunktion: BC30311: En værdi af typen 'System.Configuration.ConnectionStringSettingsCollection' kan ikke konverteres til 'String'.

Kildefejl:



Linje 24:    Sub Page_Load()
Linje 25:
Linje 26:        DBConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionDogs"].ConnectionString)
Linje 27:        SQLString = "SELECT * FROM Dogs"
Linje 28:        DBAdapter = New OleDbDataAdapter(SQLString, DBConnection)
Avatar billede kalp Novice
10. februar 2007 - 19:23 #11
samme kodestumpt fungere fint hos mig..
men testet i C#..
måske har du ikke fået det sidste med i koden.. altså  .ConnectionString
den returnere en string.

men ellers prøv

ConnectionStringSettingsCollection connections = ConfigurationManager.ConnectionStrings["ConnectionDogs"];

DBConnection = New OleDbConnection(connections[0].ConnectionString)
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 19:34 #12
prøv evt med DBConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionDogs"].ConnectionString.ToString)
Avatar billede kalp Novice
10. februar 2007 - 19:48 #13
Der mangler godt nok logik i VB.NET hvis det virker med ToString bagefter:) den property returnere en string :)
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 19:50 #14
det ved jeg men nogen gange kan tingene være ulogiske.
Jeg er dog ikke den store vb haj :)
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 19:51 #15
Kom lige i tanke om noget.
Prøv med:
DBConnection = New OleDbConnection(ConfigurationManager.ConnectionStrings("ConnectionDogs").ConnectionString)
Avatar billede kalp Novice
10. februar 2007 - 22:11 #16
Det er bare ikke så pænt hvis det her virker i C# men ikke VB
OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionDogs"].ConnectionString)

:) jeg testede nemlig tidligere og dit eksempel fungerede fint:)

det var kun nedenstående som returnerede ConnectionStringSettingnsCollection
ConfigurationManager.ConnectionStrings["ConnectionDogs"]
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 22:24 #17
gawi se mit eksempel 10/02-2007 19:51:08 der er sat () istedet for [].
Det er standard syntax i vb og den fejl jeg lavede i mit tidligere eksempel.
Avatar billede tjgrindsted Nybegynder
10. februar 2007 - 22:57 #18
dr.chaos

Jeg burde (selvom jeg er newbie i .net) vide at VB altid er () og ikke [] de problemer har jeg haft før men JA 10/02-2007 19:51:08 virker perfekt jeg takker igen jer begge..
Avatar billede dr_chaos Nybegynder
10. februar 2007 - 23:30 #19
np :)
Avatar billede kalp Novice
11. februar 2007 - 00:36 #20
finno, men så er jeg også en glad mand:)
jeg havde været noget skuffet hvis det var .ToString der skulle til:P
Avatar billede dr_chaos Nybegynder
11. februar 2007 - 08:33 #21
jeps helt enig :)
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