diff --git a/lectures/lecture5/notes/codes/databaser.ipynb b/lectures/lecture5/notes/codes/databaser.ipynb index 32fdbcb91ddc61d806261184133d4dfd4cd7c008..77be7cffcdf1b66f54ab45391adfe09353b63981 100644 --- a/lectures/lecture5/notes/codes/databaser.ipynb +++ b/lectures/lecture5/notes/codes/databaser.ipynb @@ -65,34 +65,11 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20\n" - ] - } - ], - "source": [ - "foo = None\n", - "bar = 2\n", - "\n", - "# check whether foo is none or not\n", - "if foo is None:\n", - " foo = 20\n", - " print (foo)" - ] - }, - { - "cell_type": "code", - "execution_count": 37, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "# Keep db connection\n", + "# Database connection object\n", "global db_connection\n", "db_connection = None\n", "\n", @@ -117,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -153,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -225,8 +202,12 @@ " cursor.execute(\"INSERT INTO objects (giver,in_date,category_id,comment,received_by,name,placement,reg_by,reg_date,reg_no) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)\",\n", " (giver_val,innlemmet_dato_val,kategori_id,kommentar_val,mottatt_av_val,navn_val,plassering_val,registrert_av_val,registrerings_dato_val,reg_no))\n", "\n", + "#Oppdater eksisterende rad\n", + "save_object_db('Olsen Giver','12.04.2023', 1, 'Tester', 'Kristin', 'Stol', 'PL.A1.B2','Hanne','12.04.2023','TBM.0832')\n", "\n", - "save_object_db('Olsen Giver','12.04.2023', 1, 'Tester', 'Kristin', 'Stol', 'PL.A1.B2','Hanne','12.04.2023','TBM.0832')" + "\n", + "#legg til ny rad\n", + "save_object_db('Olsen Giver','12.04.2023', 1, 'Tester', 'Kristin', 'Stol', 'PL.A1.B2','Hanne','12.04.2023','TBM.0832-N')\n" ] }, { @@ -236,6 +217,51 @@ "source": [ "### Koble opp mot databasen og fjern rader fra en tabell" ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "#Slett gjenstand\n", + "def delete_object(reg_no):\n", + " \"\"\"\n", + " :param regnr: Registreriongsnr på gjenstand som skal slettes\n", + " :return: ingen returverdi.\n", + "\n", + " Funksjonen skal finne gjenstanden og slette denne.\n", + " 1. Slett fra properties-tabellen for det gitte registreringsnummeret\n", + " 2. Slett fra provenances-tabellen for det gitte registreringsnummeret\n", + " 3. Slett fra objects-tabellen for det gitte registreringsnummeret\n", + "\n", + " Dersom sletting går bra, skriv en melding til skjermen.\n", + " \"\"\"\n", + "\n", + " #******************************************\n", + " # Oppgave 4.3\n", + " # Fullfør denne funksjonen\n", + " #******************************************\n", + "\n", + "\n", + " with get_db_connection() as db:\n", + " db.autocommit(True)\n", + "\n", + " cursor = db.cursor()\n", + " cursor.execute(\"DELETE from properties where reg_no='\" + reg_no+\"'\")\n", + " cursor.execute(\"DELETE from provenances where reg_no='\" + reg_no+\"'\")\n", + " cursor.execute(\"DELETE from objects where reg_no='\" + reg_no+\"'\")\n", + "\n", + "\n", + "delete_object('TBM.0832-N')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -254,7 +280,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.6" + "version": "3.11.2" }, "orig_nbformat": 4 }, diff --git a/lectures/lectures.json b/lectures/lectures.json index cc89e122539dc08a22e47bafe97b08a7fcb83557..daf50c9b025178923dca80eb99a36207bd881e81 100644 --- a/lectures/lectures.json +++ b/lectures/lectures.json @@ -67,7 +67,7 @@ ] } ,{"Unntakshåndtering":""} - ,{"Programmering mot databaser":""} + ,{"Programmering mot databaser":{"Lesing og skriving til database": "lecture5/notes/codes/databaser.ipynb"}} ,{"Lab 5": {"Lab-5":"lecture5/lab/lab-5.md"}} ] }, diff --git a/lectures/lectures.md b/lectures/lectures.md index 78fb5d089fe19367fcd54b6409917e1d42e91ecd..6175fdd88068a737c24ccb1b3e47ce875ea68905 100644 --- a/lectures/lectures.md +++ b/lectures/lectures.md @@ -106,7 +106,7 @@ <blockquote style="font-size:200%;cursor: pointer;padding: 10px;">   </blockquote> </details> <details><summary style="font-size:200%;cursor: pointer;">  Programmering mot databaser</summary> -<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">   </blockquote> +<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">   <a target="_blank" href=lecture5/notes/codes/databaser.ipynb>Lesing og skriving til database</a></blockquote> </details> <details><summary style="font-size:200%;cursor: pointer;">  Lab 5</summary> <blockquote style="font-size:200%;cursor: pointer;padding: 10px;">   <a target="_blank" href=lecture5/lab/lab-5.md>Lab-5</a></blockquote>