---
title: "JDBC, min SQL-sats funkar inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/28342-jdbc-min-sql-sats-funkar-inte"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "ponli"
published: "2001-10-11T19:30:00.000Z"
updated: "2001-10-12T08:45:00.000Z"
replies: 7
views: 435
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/28342-jdbc-min-sql-sats-funkar-inte"
---

# JDBC, min SQL-sats funkar inte

## #1 — ponli, 2001-10-11T19:30Z

Hej!

Har en klass som använder sig av en databas för att få info. Nu vill jag skriva en funktion som tömmer en tabell på all data men jag får inte till det.

Har kontakt med databasen eftersom alla andra frågor fungerar bra med "samma" kod, det är bara delete som inte fungerar. 
Så här ser själva kodsnutten ut: 

\--
stmt.executeUpdate("delete from tempbooking");

\--
Den borde ju ta bort all data ur tabellen eller är det något som jag har missat?

Mvh

/Pontus

Permalänk: https://www.webforum.nu/p/28342

## #2 — LarsG, 2001-10-11T20:40Z

Du kanske missar att ta hand om någon SQLException.

Du kanske har satt autocommit till false och gör aldrig någon commit.

Kan du köra sql-frågan, som samma användare, direkt i något verktyg ?

Permalänk: https://www.webforum.nu/p/402191

## #3 — ponli, 2001-10-11T21:03Z

Jag får inget exception, det tar jag hand om. 
Autocommit? Vad är det, hur ställer jag in det. Ska kanske tillägga att databasen är gjord i Acces och anropas genom ODBC.

Är det Access som inte uppför sig riktigt riktigt?

/Pontus

Permalänk: https://www.webforum.nu/p/402192

## #4 — ponli, 2001-10-11T21:14Z

Har nu kollat med getAutoCommit vilken är satt till true.

Körde frågan i Access med SQL där den rensar tabellen efter en bekräftelse från mig. Är det den bekräftelsen som måste göras för att borttagningen ska göras? Är det det som auto-commit är till för?

/Pontus

Permalänk: https://www.webforum.nu/p/402193

## #5 — LarsG, 2001-10-11T21:20Z

Autocmommit true innebär att varje statement committas automatiskt. 

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>

Connection con = DriverManager.getConnection(url);

Statement stmt = con.createStatement();
con.setAutoCommit(true);
String sql;
sql = "delete from booking";
int rows = stmt.executeUpdate(sql);

Red: Bekräftelsen har inget med autocommit att göra, det ligger i Accessklienten.

Permalänk: https://www.webforum.nu/p/402194

## #6 — ponli, 2001-10-11T22:09Z

Connection conn = DriverManager.getConnection("jdbc:odbc:TuffDB");
Statement stmt= conn.createStatement();
conn.setAutoCommit(true);		
rows=stmt.executeUpdate("delete from tempbooking");

Det är koden(här strippad) för att köra min delete sats. Skriver jag ut rows returnerar den rätt antal rader men dom tas inte bort. Kör jag däremot frågan i Access med SQL fungerar det som sagt efter att jag svarar o.k på att X antal rader ska tas bort...

Jag förstår inte vad som kan vara fel. select-satser går alldeles utmärkt att köra...

/Pontus

Permalänk: https://www.webforum.nu/p/402195

## #7 — LarsG, 2001-10-11T22:37Z

Om du lägger till

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
Connection conn = DriverManager.getConnection("jdbc:odbc:TuffDB");
Statement stmt= conn.createStatement();
//conn.setAutoCommit(true); 
rows=stmt.executeUpdate("delete from tempbooking");
**conn.commit();
conn.close();** 

?

Permalänk: https://www.webforum.nu/p/402196

## #8 — ponli, 2001-10-12T08:45Z

Då fungerar det... Tack så mycket för hjälpen...

Mvh

/Pontus

Permalänk: https://www.webforum.nu/p/402197

---

Tråden på webben: https://www.webforum.nu/amne/java/28342-jdbc-min-sql-sats-funkar-inte
