Avatar billede dr_chaos Nybegynder
09. juli 2003 - 14:20 Der er 2 kommentarer og
1 løsning

accces database i webform

access database    60 point fra dr_chaos
Luk annonce  jeg prøver at finde ud af hvordan jeg kan connecte til en access database med c#.
Jeg kan godt få det til at virke i consol osv men jeg kan ikke få den til at udskrive f.eks. alle recordset på en aspx side.
Det kode jeg har er ikke meget værd derfor ønsker jeg at få noget som udpensler det en del og som jeg selv kan bygge videre på.

her er noget kode som cyberproffessor(tror jeg) gav i et andet svar.
Den give en compiler error på IDataStore.
hvis der her kode kan bruges hvordan skal det så placeres og hvordan skal jeg bruge de enkelte kommandoer på en aspx side?
jeg er dog usikker på hvordan jeg skal bruger det:
namespace BurningIce
{
    /// <summary>
    /// Summary description for DbConnection.
    /// </summary>
    public class Datastore : IDataStore
    {
        private OleDbConnection objConn = new OleDbConnection();
       
        public Datastore()
        {
            string filename = System.Reflection.Assembly.GetAssembly(typeof(Datastore)).Location;
            string path = filename.Substring(0, filename.LastIndexOf('\\'));
            string strConnString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+ path +"\\hoe.mdb";

            objConn.ConnectionString = strConnString;
        }

        public string State
        {
            get
            {
                return objConn.State.ToString();
            }
        }

        public void Open()
        {
            objConn.Open();
        }

        public void Close()
        {
            objConn.Close();
        }

        public void ExecuteNonQuery(string str)
        {
            OleDbCommand objCommand = new OleDbCommand(str, objConn);

            this.Open();
           
            try
            {
                objCommand.ExecuteNonQuery();
            }
            catch (OleDbException exc)
            {
                throw new DataException(exc.ToString() +" SQLStreng: "+ str);
            }

            this.Close();
        }

        public object ExecuteScalar(string str)
        {
            OleDbCommand objCommand = new OleDbCommand(str, objConn);
            object tmp;

            try
            {
                this.Open();
                tmp = objCommand.ExecuteScalar();
            }
            catch (OleDbException exc)
            {
                throw new DatastoreException(exc.ToString());
            }
            finally
            {
                this.Close();
            }

            return tmp;
        }

        public OleDbDataReader GetReader(string str)
        {
            OleDbCommand objCommand = new OleDbCommand(str, objConn);
           
            this.Open();
            return objCommand.ExecuteReader(CommandBehavior.CloseConnection);
        }

        public OleDbCommand GetCommand(string sql)
        {
            return new OleDbCommand(sql, objConn);
        }
       
        private OleDbDataAdapter GetAdapter(string str)
        {
            try
            {
                return new OleDbDataAdapter(str, objConn);
            }
            catch (OleDbException exc)
            {
                throw new DatastoreException(exc.ToString());
            }
        }

        public DataTable GetDataTable(string sql)
        {
            OleDbDataAdapter objAdapter = GetAdapter(sql);

            DataTable dt = new DataTable();
            objAdapter.Fill(dt);

            return dt;
        }
    }
}
Avatar billede dr_chaos Nybegynder
09. juli 2003 - 18:21 #1
hans navn var cyberfessor.
Ellers kan jeg godt bruge en henvisning til en side eller et kode eksempel hvor det bliver penslet lidt ud hvordan jeg bruger access databasen på en webform.
Avatar billede burningice Nybegynder
11. juli 2003 - 00:56 #2
det kunne være du skulle sætte dig ind i koden, istedet for bare at copy-paste den 100%.

For det første mangler du selve IDataStore-interfacet som DataStore-klassen nedarver fra. DataStoreException er vist også en klasse jeg selv havde lavet.

Du siger at det du skal, er at connecte til en access-database. Det er forholdsvis nemt, og gøres med følgende kode:

OleDbConnection conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+ path +"\\hoe.mdb";");

Derefter skal du bruge enten en reader eller en adapter til at hente dine dataer ud ved hjælp af en sql-query. Når det er gjort binder du det til f.eks. et datagrid, en repeater eller en datalist på din aspx-side.
Avatar billede dr_chaos Nybegynder
16. juli 2003 - 10:32 #3
ok
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