mboost-dp1
Java + MS Access SQL
- Forside
- ⟨
- Forum
- ⟨
- Programmering
private void addRecipe()
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Recipe name: ");
String name = keyboard.next();
System.out.print("Ingredients: ");
String ingredients = keyboard.next();
String sql = "INSERT INTO RECIPESTABLE(RECIPENAME, INGREDIENTS)" +
"VALUES('name','ingredients')";
System.out.println("\nAdding a recipe : ");
try
{
Statement statement = con.createStatement();
int result = statement.executeUpdate(sql);
System.out.println(" Added " + result + " recipe(s).");
}
catch (Exception ex)
{
System.out.println("Error adding a recipe!");
System.out.println(ex);
}
}
Hvordan indsætter jeg variablerne name og ingredients til "VALUES" ?
Hmmm... måske noget ala det her. Jeg har lavet et par få ændringer så du fx kan skrive en komplet ingredientsliste... istedet. Afslut listen med '.'
import java.util.Scanner;
private void addRecipe()
{
Scanner keyboard = new Scanner(System.in);
System.out.print("Recipe name: ");
String name = keyboard.nextLine();
String lineInput = "";
StringBuilder sb = new StringBuilder();
String ingredientString;
int ingrCnt = 1;
while(true)
{
System.out.print("Ingredient " + ingrCnt + ": ");
lineInput = keyboard.nextLine();
if(lineInput.equals("."))
{
ingredientString = sb.toString().substring(0, sb.toString().length()-1);
break;
}
sb.append(lineInput + ",");
ingrCnt++;
}
String sql = "INSERT INTO RECIPESTABLE(RECIPENAME, INGREDIENTS) " +
"VALUES ('" + name + "', '" + ingredientString + "')";
System.out.println("\nAdding a recipe : ");
System.out.println(sql);
try
{
Statement statement = con.createStatement();
int result = statement.executeUpdate(sql);
System.out.println(" Added " + result + " recipe(s).");
}
catch (Exception ex)
{
System.out.println("Error adding a recipe!");
System.out.println(ex);
}
}
NOOOOOOO!ZiN (2) skrev:String sql = "INSERT INTO RECIPESTABLE(RECIPENAME, INGREDIENTS)" +
"VALUES('"+name+"','"+ingredients+"')";
Bemærk at du bør påføre noget check om name og ingredients er strings. :-)
http://java.sun.com/docs/books/tutorial/jdbc/basic...
#0
Læs overstående link. Gerne to gange.
#StringBuilder
Den klasse blev tilføjet i Java 1.5 - for ældre Java versioner skal man bruge StringBuffer klassen.
De har præcis samme funktionalitet, men StringBuilder er usynkroniseret mens StringBuffer er synkroniseret.
Hvis man er på 1.5/1.6/1.7beta, så bør man bruge StringBuilder.
Den klasse blev tilføjet i Java 1.5 - for ældre Java versioner skal man bruge StringBuffer klassen.
De har præcis samme funktionalitet, men StringBuilder er usynkroniseret mens StringBuffer er synkroniseret.
Hvis man er på 1.5/1.6/1.7beta, så bør man bruge StringBuilder.
#16
Åh Gud!! Nej!!! *bider fingre* Vi bør optimere!!! *bider fingre* ... det vigtigste er at hans eksempel fyrer afsted som en raket, end at han kan forstå essencen! *bider fingre*... vi må optimere...
Hans spørgsmål var ikke "hvordan kan jeg få mine SQL forespørgsler, som faktisk ikke burde ligge sammen med logikken, men enten måske et DAO eller Hibernate object, til at køre hurtigere?"
- Læs hans primære spørgsmål. Gerne to gange.
Åh Gud!! Nej!!! *bider fingre* Vi bør optimere!!! *bider fingre* ... det vigtigste er at hans eksempel fyrer afsted som en raket, end at han kan forstå essencen! *bider fingre*... vi må optimere...
Hans spørgsmål var ikke "hvordan kan jeg få mine SQL forespørgsler, som faktisk ikke burde ligge sammen med logikken, men enten måske et DAO eller Hibernate object, til at køre hurtigere?"
- Læs hans primære spørgsmål. Gerne to gange.
#database
MS Access betyder formentligt JDBC-ODBC bridge.
Den er noget forfærdeligt crap.
Hvilket er god grund til at vælge en anden database som kommer med en type 4 (eller til nød en type 2) JDBC driver.
Der er masser af gode embedded databaser til Java.
Derby (som kommer med Java), HSQLDB, H2, FireBird etc..
Eneste grund til at bruge MS Access er hvis databasen skal bruges af en anden app som har stærke præferancer for MS Access.
MS Access betyder formentligt JDBC-ODBC bridge.
Den er noget forfærdeligt crap.
Hvilket er god grund til at vælge en anden database som kommer med en type 4 (eller til nød en type 2) JDBC driver.
Der er masser af gode embedded databaser til Java.
Derby (som kommer med Java), HSQLDB, H2, FireBird etc..
Eneste grund til at bruge MS Access er hvis databasen skal bruges af en anden app som har stærke præferancer for MS Access.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.