Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NET
Databaser
• SQL Client (SQL server 7 og senere)
• OleDb (en række incl. jet)
• ODBC
• MySql (ekstra driver skal instaleres)
• Oracle
• (XML dataset)
OleDb
• connectionName = "Provider=Microsoft.Jet.OLEDB.4.0;"
• + @"Data Source=..\..\LagerSystem.mdb;"
• + "Jet OLEDB:Database Password=;";
• con = new System.Data.OleDb.OleDbConnection(connectionName);
ODBC
• connectionName = "DSN=LagerSystem”;
• con = new System.Data.Odbc.OdbcConnection(connectionName);
MySql
• connectionName = "Database=LagerSystem;"
• +"Data Source=localhost;" /*127.0.0.1;" /* localhost */
• +"User Id=root;"
• +"Password=";
• con = new MySql.Data.MySqlClient.MySqlConnection(connectionName);
Query med DataReader
• System.Data.IDbCommand cmd = con.CreateCommand();
• System.Data.IDataReader dataReader;
• cmd.CommandText = "SELECT * FROM Vare";
• dataReader = cmd.ExecuteReader();
• while ( dataReader.Read() )
• {
• …………………………………………..
int varenr = int.Parse(dataReader["Varenr"].ToString());
string betegnelse = dataReader["Betegnelse"].ToString();
• …………………………………………..
• }
• dataReader.Close(); /* luk forespørsel*/
• con.Close();
Update - nonquery
• System.Data.IDbCommand cmd = con.CreateCommand();
• int antalIndsat;
• string sqlString = "INSERT INTO Varebevægelse "
• + " (Varenr, Antal, Tidspunkt, Medarbejdernr)"
• + " VALUES"
• + " (" + varenr + "," + antal + ","
• + "'"+tidspunkt.ToShortDateString()+” ”
• + tidspunkt.ToShortTimeString()+"',"
• + medarbejdernr
• + ")";
• cmd.CommandText = sqlString;
• antalIndsat = cmd.ExecuteNonQuery(); /*udfør SQL Update/Insert/Delete */
• con.Close();
• if (antalIndsat != 1)
• throw new Exception("Fejl ved oprettelse af varebevægelse <sql:" + sqlString+">");
Update - transaction
Transaktionen er bundet til en connection
Startes med
• System.Data.IDbTransaction transaction =
con.BeginTransaction();
• cmd.transaction = transaction;
Ved fejl
• transaction.Roolback();
Database Provider Factory
Databaseklasser kan dannes ved brug af Factory klasse
der findes i ”System.Data.Common”, hvorved der kun bliver
2 strenge der er specifik for provider (er ikke implementeret
for MySql)
DbProviderFactory factory =
DbProviderFactory.GetFactory(”System.Data.Odbc”);
DbConnection con = factory.CreateCommand();
con.ConnectionString = ”DSN=LAGERSYSTEM”;