Avatar billede vraa Nybegynder
01. februar 2005 - 13:39 Der er 2 kommentarer og
3 løsninger

Placering af connection i vs.net

Hvor skal jeg placere min connection så den kun skal skrives en gang og kan hentes fra samme sted på alle mine sider.

Vil gerne se et eksempel.
Avatar billede anhansen Nybegynder
01. februar 2005 - 13:43 #1
Så laver du en klasse f.eks db.cs
I denne klasse definerer du alle de database metoder, kald du har.

På din codebehind klasse laver du et objekt af klassen db og bruger disse metoder.
Avatar billede anhansen Nybegynder
01. februar 2005 - 13:45 #2
eks:

dbAccess.cs

using System;
using System.Data;
using System.Data.SqlClient;

namespace projekt.classes
{
    /// <summary>
    /// Summary description for DBAccess.
    /// </summary>
    public class DBAccess
    {
        private string sConnectionString = System.Configuration.ConfigurationSettings.AppSettings["dbConn"];
       
        public DBAccess()
        {
            //
            // TODO: Add constructor logic here
            //
        }
       
        /// <summary>
        /// Summary description for getDataTable.
        /// Returns a dataTable with the results for the SqlCommand given as parameter
        /// </summary>
        /// <param name="cmd">SqlCommand containing the command parameters to perform</param>
        public DataTable getDataTable(SqlCommand cmd)
        {
            SqlConnection conn = new SqlConnection(sConnectionString);
            cmd.Connection = conn;
            DataSet ds = new DataSet();
            SqlDataAdapter da =  new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }

        /// <summary>
        /// Summary description for getDataTable.
        /// Returns a dataTable with the results for the sql query string given as parameter
        /// </summary>
        /// <param name="cmd">String containing the SQL command to perform</param>
        public DataTable getDataTable(string sql)
        {
            SqlConnection conn = new SqlConnection(sConnectionString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            DataSet ds = new DataSet();
            SqlDataAdapter da =  new SqlDataAdapter(cmd);
            da.Fill(ds);
            return ds.Tables[0];
        }
    }
}


I webform1.cs skriver du så bare:

DBAccess dba = new DBAccess();
DataTable dt = db.getDataTable("Select * from tabel");
Avatar billede lorentsnv Nybegynder
01. februar 2005 - 13:56 #3
En måde som beskrevet mange steder er at bruge web.config filen til at lave dine defenitioner:

I web.config har du følgende tekst.
<appSettings>
    <add key="OLAPConnectionString" value="Provider=MSOLAP.2;Data Source=http://localhost/olapreport;Initial Catalog=Foodmart 2000;" />
</appSettings>


I dine aspx-filer henter du connection stringen på følgende måde:
Dim strOLAPConn As String = ConfigurationSettings.AppSettings("OLAPConnectionString")

I dette tilfælde er connection stringen en AS-database, men princippet er det samme til en anden database.
Avatar billede anhansen Nybegynder
01. februar 2005 - 14:00 #4
Det samme jeg har gjort i strengen sConnectionString - den henter jeg fra web.config som lorentsnv skriver.
Avatar billede vraa Nybegynder
01. februar 2005 - 14:37 #5
Det var din version jeg søgte efter lorentsnv. Men i får point begge to for indsatsen. Tak for hjælpen :-)
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