Results 1 to 13 of 13

Thread: Connectionstring opbouwen in ASP.NET

  1. #1
    School.Free :) eriksk's Avatar
    Join Date
    Sep 2003
    Location
    - Kaapstad - Uses: Delphi 7 & Visual Studio 2003 & 2005: ASP.NET -> VB.NET
    Posts
    773

    Question Connectionstring opbouwen in ASP.NET

    Hallo,

    in Delphi was het mogelijk om een connectiestring erg makkelijk op te bouwen dmv de volgende code (bij gebruikmaking van ADO):

    Code:
    implementation
    {$R *.dfm}
    
    uses AdoConEd;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if EditConnectionString(ADOConnection1) then
        Showmessage(ADOConnection1.ConnectionString);
    end;
    Passconvert: Access violation at address 40008EEA in module 'rtl70.bpl'. Read of address 00C75170 Maar dat verder terzijde


    Nu gebruik ik in ASP.NET (VB.NET code) ook ADO. In Visual Studio wordt ditzelfde scherm gebruikt. Dus zal het ook vast wel mogelijk zijn om dit scherm in ASP.NET te gebruiken, toch...? Maar hoe roep ik deze op (in VB.NET)?

    Groeten Erik
    Last edited by Dees; 08-Mar-05 at 22:15.

  2. #2
    EditConnectionString is volgens iets met windows forms te maken. Je maakt nu gebruik van Web applicaties dus dat gaat niet werken. Zowiezo wil je connection string niet zomaar kunnen wijzigen vanuit user interface dan behalve je login name en password in zetten.

  3. #3

  4. #4
    School.Free :) eriksk's Avatar
    Join Date
    Sep 2003
    Location
    - Kaapstad - Uses: Delphi 7 & Visual Studio 2003 & 2005: ASP.NET -> VB.NET
    Posts
    773
    Ergens had ik al zo vermoeden, maar bedankt!

    Quote Originally Posted by Link
    ...
    Zowiezo wil je connection string niet zomaar kunnen wijzigen vanuit user interface dan behalve je login name en password in zetten.
    Waarom niet? Hoeft ook niet door de 'gewone' gebruiker toegankelijk te zijn. Maar meer voor de admins... dus afgeschermd.

  5. #5
    Je kunt ook gebruik maken van een .UDL bestand, de connectionstring is dan bijvoorbeeld: FILE NAME=C:\Program Files\Common Files\System\OLE DB\Data Links\DBDEMOS.udl. Dat is een INI-bestand waarin je een ADO connectionstring vastlegt. Door een bestand met de de .UDL extensie te openen wordt de ADO dialoog gestart.

    Maar je connectionstring in je web.config opslaan en die gewoon handmatig wijzigen vind ik persoonlijk een handiger oplossing.
    Marcel

  6. #6
    Senior Member
    Join Date
    Dec 2001
    Location
    Rotterdam
    Posts
    219
    Ik weet niet helemaal zeker of je dit bedoeld, maar iets dergelijks kan door middel van COM via InteropServices...

    Zie deze Link
    Always code as if the person who ends up maintaining your code
    will be a violent psychopath who knows where you live.


    John F. Woods (quoted on Usenet) 1997/08/20

  7. #7
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Linkie geeft:
    Quote Originally Posted by NLDelphi
    http://www.nldelphi.com/Forum/newreply.php
    Invalid Onderwerp specified. If you followed a valid link, please notify the webmaster
    All methodologies are based on fear. -- Kent Beck.

  8. #8
    Quote Originally Posted by eriksk
    Ergens had ik al zo vermoeden, maar bedankt!



    Waarom niet? Hoeft ook niet door de 'gewone' gebruiker toegankelijk te zijn. Maar meer voor de admins... dus afgeschermd.
    Omdat ik niet uit je eerste post uit kan maken voor wie de connection string mag gaan wijzigen

    Maar zoals marcel al zei gewoon in de web.config zetten en die kan je met de handje wijzigen. Je kan de waarde met behulp van ConfigurationSettings.AppSettings property ophalen. Helaas kan je niet via die methode weer een nieuwe waarde zetten. Het is namelijk Read-Only. Een workaround is om je web.config aan te passen door het document te laden een XMLDocument en die weer wegschrijven.

    Persoonlijk zou ik gaan om een een klein object te maken en die serializeren naar file en deserializeren vanuit een file. Deze manier krijg je altijd een object terug van een bepaalde type. Een bijkomend voordeel is dat je je asp.net workerproces niet onderuitschopt als via serializatie doet. Als je namelijk je web.config aanpast, dan gaat asp.net worker process zichzelf opnieuw opstarten en ben je bv alle caching en state (afhankelijk van welke statemanagment je gebruikt) op dat moment kwijt (niet handig voor bepaalde situaties)

  9. #9
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Quote Originally Posted by eriksk
    In Visual Studio wordt ditzelfde scherm gebruikt. Dus zal het ook vast wel mogelijk zijn om dit scherm in ASP.NET te gebruiken, toch...?
    1) EditConnectionString is in Delphi Win32 een property Editor in een design-time package en dient niet voor runtime gebruik. Het is dus gewoon een Delphi form. Je kan dat 'nabouwen' en gebruiken.
    2) Visual Studio is een Win32 applicatie?
    3) Met .NET is het mogelijk via Interop (zie code), of eventueel met PInvoke
    4) ASP.NET is een ander paar mouwen: waar ga je die connection dialog overigens tonen? Op de server?


    Code:
    'Toevoegen aan references:
    'Microsoft ActiveX Data Objects Library (bij mij 2.8)
    'Microsoft OLE DB Service Component Type Library
    Private Sub Button1_Click(ByVal sender As System.Object, _ 
                        ByVal e As System.EventArgs) Handles Button1.Click
        Dim DataLink As New MSDASC.DataLinks
        Dim AdoConn As New ADODB.Connection
        If DataLink.PromptEdit(DirectCast(AdoConn, Object)) Then
            MessageBox.Show(AdoConn.ConnectionString)
        End If
    End Sub
    
    
    Private Sub Button2_Click(ByVal sender As System.Object, _ 
                ByVal e As System.EventArgs) Handles Button2.Click
      Dim DataLink As New MSDASC.DataLinks
      Dim AdoConn As Object = DataLink.PromptNew
      If Not AdoConn Is Nothing Then
          MessageBox.Show(DirectCast(AdoConn, ADODB.Connection).ConnectionString)
      End If
    End Sub
    All methodologies are based on fear. -- Kent Beck.

  10. #10
    Senior Member
    Join Date
    Dec 2001
    Location
    Rotterdam
    Posts
    219
    Floeps,

    Het was ook al laat...

    Ik doe nog een poging:

    Deze link laat het zien met COM en .NET InteropServices

    Is denk ik redelijk goed te vertalen van C# -> Delphi .NET

    Always code as if the person who ends up maintaining your code
    will be a violent psychopath who knows where you live.


    John F. Woods (quoted on Usenet) 1997/08/20

  11. #11
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Delphi.NET?
    Quote Originally Posted by eriksk
    ..Maar hoe roep ik deze op (in VB.NET)?
    All methodologies are based on fear. -- Kent Beck.

  12. #12
    School.Free :) eriksk's Avatar
    Join Date
    Sep 2003
    Location
    - Kaapstad - Uses: Delphi 7 & Visual Studio 2003 & 2005: ASP.NET -> VB.NET
    Posts
    773
    @Pim: Ik denk dat ik die ook wel redelijk kan vertalen van C# naar VB.NET

    Mooi artikel,
    bedankt

  13. #13
    Senior Member
    Join Date
    Dec 2001
    Location
    Rotterdam
    Posts
    219
    Eigenlijk best goed dat je met VB (.NET) vragen terecht kan op NLDelphi...
    Always code as if the person who ends up maintaining your code
    will be a violent psychopath who knows where you live.


    John F. Woods (quoted on Usenet) 1997/08/20

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. ASP.NET Roadshow
    By Marcel in forum Koffiehoek
    Replies: 1
    Last Post: 12-Feb-05, 03:05
  2. Replies: 31
    Last Post: 04-Jul-04, 20:13
  3. HTML code in ASP.NET app.
    By Siep in forum .NET
    Replies: 8
    Last Post: 16-Jun-04, 00:56
  4. ConnectionString Bdp, ASP.NET - remote
    By Anders in forum .NET
    Replies: 1
    Last Post: 27-May-04, 21:30
  5. Variant opbouwen in Locate
    By JackBigMac in forum Databases
    Replies: 2
    Last Post: 13-Feb-03, 12:20

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •