Avatar billede dr_chaos Nybegynder
09. juli 2003 - 12:37 Der er 1 kommentar og
1 løsning

access database

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 - 13:19 #1
han hed cyberfessor ;)
Avatar billede dr_chaos Nybegynder
09. juli 2003 - 14:19 #2
flytter den lige
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
Kurser inden for grundlæggende programmering

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