Avatar billede demojoe Nybegynder
20. juli 2001 - 14:44 Der er 9 kommentarer

db connection med C#

nogen der har et eksempel på hvordan man laver en connection til access i C#?

/Demojoe
Avatar billede zoidberg Nybegynder
20. juli 2001 - 17:23 #1
Prøv http://docs.aspng.com/quickstart/aspplus/default.aspx der kan du selv vælge om du vil se koden i VB, JScript eller C#
Avatar billede odegaard Nybegynder
20. juli 2001 - 17:27 #2
...eller fra den ganske udemærkede dokumentation der følger med Framework. F.eks. følger her et eksempel på en klassefil der klarer forbindelsen.
Hvis du sammenholder det med mit tidligere ASP.NET eksempel, skulle du hurtigt kunne lave en passende kode selv (gad ikke lige at skulle til at brygge det samme sammen til C# endnu engang som jeg lige har gjort i ASP.NET).
-----------
// OleDbSample.cs
// compile with: /r:system.dll /r:system.data.dll /r:system.xml.dll
// To build this sample from the command line, use the command:
// csc /r:system.dll /r:system.data.dll /r:system.xml.dll oledbsample.cs

using System;
using System.Data;
using System.Data.OleDb;
using System.Xml.Serialization;

public class MainClass {
    public static void Main ()
    {
      // Set Access connection and select strings.
      // The path to BugTypes.MDB must be changed if you build the sample
      // from the command line:
#if USINGPROJECTSYSTEM
      string strAccessConn = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\\\..\\\\BugTypes.MDB\";
#else
      string strAccessConn = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB\";
#endif
      string strAccessSelect = \"SELECT * FROM Categories\";

      // Create the dataset and add the Categories table to it:
      DataSet myDataSet = new DataSet();
      myDataSet.Tables.Add(\"Categories\");
     
      // Create Access objects:
      OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
      OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
      OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);

      myAccessConn.Open();

      try
      {
        myDataAdapter.Fill(myDataSet,\"Categories\");
      }
      finally
      {
        myAccessConn.Close();
      }

      try
      {
        // A dataset can contain multiple tables, so let\'s get them all
        // into an array:
        DataTableCollection dta = myDataSet.Tables;
        foreach (DataTable dt in dta)
        {
            Console.WriteLine(\"Found data table {0}\", dt.TableName);
        }
       
        // The next two lines show two different ways you can get the
        // count of tables in a dataset:
        Console.WriteLine(\"{0} tables in data set\", myDataSet.Tables.Count);
        Console.WriteLine(\"{0} tables in data set\", dta.Count);
        // The next several lines show how to get information on a
        // specific table by name from the dataset:
        Console.WriteLine(\"{0} rows in Categories table\", myDataSet.Tables[\"Categories\"].Rows.Count);
        // The column info is automatically fetched from the database, so
        // we can read it here:
        Console.WriteLine(\"{0} columns in Categories table\", myDataSet.Tables[\"Categories\"].Columns.Count);
        DataColumnCollection drc = myDataSet.Tables[\"Categories\"].Columns;
        int i = 0;
        foreach (DataColumn dc in drc)
        {
            // Print the column subscript, then the column\'s name and its
            // data type:
            Console.WriteLine(\"Column name[{0}] is {1}, of type {2}\",i++ , dc.ColumnName, dc.DataType);
        }
        DataRowCollection dra = myDataSet.Tables[\"Categories\"].Rows;
        foreach (DataRow dr in dra)
        {
            // Print the CategoryID as a subscript, then the CategoryName:
            Console.WriteLine(\"CategoryName[{0}] is {1}\", dr[0], dr[1]);
        }
      }
      catch (Exception e)
      {
        Console.WriteLine(\"Oooops.  Caught an exception:\\n{0}\", e.Message);
      }
  }
}
Avatar billede demojoe Nybegynder
20. juli 2001 - 17:27 #3
eh, jeg kan ikke finde nogen måder at bruge MS Access med C# lige der...

De samme oplysninger kan findes på:
http://www.gotdotnet.com/quickstart/aspplus/
Avatar billede odegaard Nybegynder
20. juli 2001 - 17:33 #4
Tro mig. Det virker!
I linjen med
\"string strAccessConn = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\\\..\\\\BugTypes.MDB\";\"
Ændrer du blot stien \"..\\\\..\\\\BugTypes.MDB\" til din database. F.eks. til
\"string strAccessConn = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\inetpub\\db\\minDB.mdb\";\"
Avatar billede demojoe Nybegynder
20. juli 2001 - 17:36 #5
sorry odegaard... den kommentar var til zoidbergs svar... :)
Avatar billede odegaard Nybegynder
20. juli 2001 - 17:38 #6
Ja, det kom jeg til at tænke på lidt senere. Det er helt ok :)
Avatar billede demojoe Nybegynder
20. juli 2001 - 17:43 #7
eeeh, når vi nu er ved det... hvordan dælen er det så man sætte outputfolder på c# compileren?
Avatar billede odegaard Nybegynder
20. juli 2001 - 17:49 #8
Du skriver vel bare stien foran output-navnet?
Du har godt set hvad der står i kommentaren i toppen af koden ovenover?
/Odegaard
Avatar billede odegaard Nybegynder
20. juli 2001 - 17:53 #9
Øh undskyld. Du skal skrive  /out:<fil>
Prøv at skrive \"csc /help\" i en kommandoprompt

/Odegaard
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