---
title: "installationssida"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/172613-installationssida"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Vinnaren"
published: "2008-07-03T19:01:57.000Z"
updated: "2008-07-07T09:44:53.000Z"
replies: 4
views: 710
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/172613-installationssida"
---

# installationssida

## #1 — Vinnaren, 2008-07-03T19:01Z

Försöker få till en enkel installationssida där man får ange anslutningsinfo till databasen, men hur sparar man den infon sen i web.configen?

har följande:

```
    protected void btnDatabas_Click(object sender, EventArgs e)
    {
        try
        {
            string address = txtAddress.Text;
            string databas = txtDatabasName.Text;
            string username = txtDatabasUserName.Text;
            string password = txtDatabasPassword.Text;           
        }
        catch (Exception ex)
        {
        }
    }
```

Går det även att prova anslutningen till databasen så den är OK innan man sparar den i web.configen?

Tacksam för all hjälp (y)

Permalänk: https://www.webforum.nu/p/172613

## #2 — invecklaren, 2008-07-04T13:49Z

Det låter inte så vackert att ändra på web.config via kod. Men det går nog:
<http://forums.asp.net/p/918285/1047588.aspx>
Tänk på att applikationen startar om när web.config ändras.

Prova anslutningen är väl enkelt? Bara skapa ett connection-objekt med parametrarna och testa om du får ett exception kastat i ansiktet?

Permalänk: https://www.webforum.nu/p/2124337

## #3 — Compusa, 2008-07-04T18:43Z

Använd WebConfigurationManger för det här och blanda inte massa krånglig inläsning/redigering av XML-datan.

Så här kan du göra för att ändra i web.config under run-time:

1\. Se till att ha sektionen "connectionStrings" i din web.config fil:

```
<connectionStrings>
    <add name="ConnectionString" connectionString="standardvärde..."/>
</connectionStrings>
```

2\. Lägg till en referens till dll:en System.Configuration i ditt projekt om du inte redan har det.

3\. Lägg till följande i din kod:

```
using System.Configuration;
...

// Denna skulle du också kunna spara i din Web.config
private const string ConnectionStringPattern = 
    "Server={0};Database={1};Integrated Security=false;User Id={2};Password={3}";

...

    protected void btnDatabas_Click(object sender, EventArgs e)
    {
        try
        {
            string address = txtAddress.Text;
            string databas = txtDatabasName.Text;
            string username = txtDatabasUserName.Text;
            string password = txtDatabasPassword.Text;

            // null som parameter innebär att man hämtar root-configfilen
            Configuration configuration = WebConfigurationManager.OpenWebConfiguration(null);

            ConnectionStringsSection connectionSection = configuration.ConnectionStrings;
            ConnectionStringSettings connectionSettings = connectionSection.ConnectionStrings[0];

            // formatera strängen med hjälp av mönstret och variablernas värden
            connectionSettings.ConnectionString = string.Format(ConnectionStringPattern,
                address, databas, username, password);
            
            // Testa anslutningen och spara bara om den fungerar
            if (CanConnect(connectionSettings.ConnectionString))
            {
                connectionSection.SectionInformation.ForceSave = true;
                configuration.Save();
            }          
        }
        catch (Exception ex)
        {
        }
    }

    private bool CanConnect(string connectionString)
    {
        bool canConnect = false;
        SqlConnection connection = null;

        try
        {
            connection = new SqlConnection(connectionString);
            connection.Open();
            canConnect = true;
        }
        catch (SqlException exc)
        {
            // Anslutningen fungerade inte!
        }
        finally
        {
            if (connection != null)
                connection.Close();
        }

        return canConnect;
    }
```

Permalänk: https://www.webforum.nu/p/2124384

## #4 — Nickemannen, 2008-07-04T19:57Z

Klart du kan testa om anslutningen som fungerar.
Gör ungefär som du gjort i ditt kodexempel.

Permalänk: https://www.webforum.nu/p/2124400

## #5 — Vinnaren, 2008-07-07T09:44Z

tusen tack för hjälpen (y)

Permalänk: https://www.webforum.nu/p/2124525

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/172613-installationssida
