Wie markiert man Anführungszeichen?
Hallo zusammen, wie behebe ich den Fehler? 

Muss ich die Anführungszeichen maskieren, nur wie mache ich das? 


Fehlermeldung:

error: expected ',' or ';' before 'bme'
char INSERT_SQL[] = "INSERT INTO Wetterdaten (Temperatur , Luftfeuchtigkeit ,Luftdruck , Himmelstemperatur) VALUES ('"bme.readTemperature()"','"bme.readHumidity()"','"bme.readPressure() / 100.0F"','"mlx.readObjectTempC()"')";



Code:

char INSERT_SQL[] = "INSERT INTO Wetterdaten (Temperatur , Luftfeuchtigkeit ,Luftdruck , Himmelstemperatur) VALUES ('"bme.readTemperature()"','"bme.readHumidity()"','"bme.readPressure() / 100.0F"','"mlx.readObjectTempC()"')";


WiFiClient client;              
MySQL_Connection conn(&client);
MySQL_Cursor* cursor;

float Temperatur,Luftfeuchtigkeit,Luftdruck,Himmelstemperatur;


void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  mlx.begin();

  // create MySQL cursor object
  cursor = new MySQL_Cursor(&conn);


}

void loop() {

   Temperatur = bme.readTemperature();
   Luftfeuchtigkeit = bme.readHumidity();
   Luftdruck = bme.readPressure() / 100.0F;

   Himmelstemperatur = mlx.readObjectTempC();

  
  
  if (conn.connect(server_addr, 3306, user, passwordDB))
  {
     Serial.println("OK.");
    cursor->execute(INSERT_SQL);
  }  
  else
  {
    Serial.println("FAILED.");

  }

}


Computer, sql, Programmierung, arduino, Datenbank
3 Antworten
Java Servlet Exception, JDBC, Servlet und SQL?

Hallo,

Folgender Code sollte aus einer SQL-Datenbank ein Datenbestand herauslesen und diese dann in einer JSP schreiben.

import Beans.AdresseBean;
import Beans.Klamotten;

@WebServlet("/DisplayKlamotten")
public class DisplayKlamotten extends HttpServlet {
  private static final long serialVersionUID = 1L;

  public DisplayKlamotten() {
    super();
  }

  @Resource(lookup = "java:jboss/datasources/testDB")
  private DataSource ds;

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<Klamotten> klamotten = display();
    HttpSession session = request.getSession();
    session.setAttribute("klamotten", klamotten);
    final RequestDispatcher dispatcher = request.getRequestDispatcher("./JSP/Übersicht_Artikel.jsp");
    dispatcher.forward(request, response);
  }

  public List<Klamotten> display() throws ServletException {
    List<Klamotten> k = new ArrayList<Klamotten>();

    try (
      Connection con = ds.getConnection();
      PreparedStatement pstmt = con.prepareStatement("SELECT * FROM kleidung")) {
      pstmt.setInt(1, 1);

      try (ResultSet rs = pstmt.executeQuery()) {
        while (rs.next()) {
          Klamotten klamotten = new Klamotten();  // bean wird bei jedem Treffer erzeugt
          klamotten.setId(Long.valueOf(rs.getInt("id")));
          klamotten.setName(rs.getString("artikelName"));
          klamotten.setDes(rs.getString("artikelBezeichnung"));
          klamotten.setPreis(rs.getFloat("preis"));
          klamotten.setSize(rs.getString("groessen"));
          klamotten.setMenge(rs.getInt("menge"));
          // get --> belegt die Bohnen
          k.add(klamotten); // Bohnen in ArrayList hinzufügen.
        }
      }
    }
    catch (Exception ex) {
      throw new ServletException(ex.getMessage());
    }

    return k;
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
  }
}

Ich bekomme in der Zeile 39

List<Klamotten> klamotten = display();

folgende Fehlermeldung:

javax.servlet.ServletException: Parameter index out of range (1 > number of parameters, which is 0). at Servlets.DisplayKlamotten.display(DisplayKlamotten.java:76) at Servlets.DisplayKlamotten.doGet(DisplayKlamotten.java:39)

Ich habe nachgelesen, was dieser Fehler sein könnte, aber mehrere Antworten gefunden, die jedoch nicht bei diesem Fehler helfen.

Computer, sql, Programmieren, Java, Datenbank
1 Antwort
Woran erkennt man einen guten Entwickler und woher weiß ich, ob ich dazu in der Lage bin?

Schönen guten Tag,

ich habe vor 3 Jahren privat angefangen mir selbst programmieren beizubringen. In dieser Zeit, habe ich allerlei Programme erstellt. Angefangen von größeren, bis hin zu kleineren. Dabei kam ich mit

  • Java(Spring)
  • C#
  • PHP
  • HTML und CSS
  • SQL

in Berührung.

In letzter Zeit keimt aber das Verlangen in mir auf, zu erfahren, wo ich mit meiner Leistung stehe. Ich bin ein Mensch, der in dem was er tut, gut sein will. Das bedeutet, ich habe eine hohe Erwartungshaltung an mich selbst. Der Programmiersektor ist ein breit gefächerter Bereich und mir ist bewusst, dass man unmöglich sagen kann, wo genau man steht.

Ich kann nur sagen, dass ich Spaß mitbringe und bin sehr gerne auf der Suche nach Fehler im Quellcode. Aber wie wir alle wissen, reicht das unter Umständen nicht aus.

Woran erkennt man einen guten Programmierer? Und vor allem: Woran erkenne ich, ob ich das Zeug dazu habe?

Ich habe mich zu dem Thema intensiv befasst. Immer wieder lese ich darüber, dass das Erkennen von Problemen und Algorithmen zur Lösung zu erschaffen einen guten Programmierer ausmachen.

Ich bin auch sehr Selbstkritisch. Manchmal muss man sich selbst sagen können: Lass es lieber sein. Das ist nicht dein Weg. Dieser Umstand gepaart mit meiner hohen Erwartungshaltung an mich selbst, ist Gift. Gift für meinen Geist. Denn ich stehe mir damit selbst im Weg.

Ich habe auch das Gefühl von Programmierbereich zu Programmierbereich zu pendeln. Dabei bleibt das Gefühl zurück, etwas angefangen zu haben, aber nicht richtig gelernt zu haben.

Vielleicht kann mir ein erfahrener Programmierer etwas zu dem Thema sagen? Über mehrere und fundierte Antworten wäre ich sehr dankbar.

sql, HTML, Programmieren, Java, pro, Code, Selbstzweifel
2 Antworten
SQL Query über mehrere Tabellen?

Hallo,

ich versuch Daten über mehrere Tabellen aus einer MariaDB mit einem einzelnen SELECT zu lesen.

Als Beispiel dient die MySQL Beispieldatenbank Sakila:
https://dev.mysql.com/doc/sakila/en/

Aus der Datenbank möchte ich Filme laden. Sie sind in der Tabelle "film" gespeichert und haben den Primärschlüssel "film_id".

In dem Select möchte ich auch gleich die Kategorien aus der Tabelle "category" einbeziehen.

Die Verknüpfung zwischen Film und Kategorie funktioniert über die Tabelle "film_category". Es gibt für jeden Film nur eine Kategorie!

Für einfache Beziehungen zu anderen Tabellen bekomme ich das so hin:

SELECT
   f.film_id,
   f.title,
   ft.title as text_title,
   f.description,
   ft.description as text_description,
   f.release_year,
   f.language_id,
   l1.name as language_name,
   f.original_language_id,
   l2.name as original_language_name,
   f.rental_duration,
   f.rental_rate,
   f.length,
   f.replacement_cost,
   f.rating,
   f.special_features,
   f.last_update,
   cat.category_id,
   cat.name as category_name
FROM film as f
LEFT JOIN language as l1 on l1.language_id = f.language_id
LEFT JOIN language as l2 on l2.language_id = f.original_language_id
LEFT JOIN film_text as ft on ft.film_id = f.film_id;

Aber wie mache ich das mit der Zwischentabelle?

Und was wäre der beste Weg, wenn es mehrere Zeilen aus einer anderen Tabelle für einen Film geben würde. Wie es bei den Daten aus der Tabelle "actors" ist?

vielen Dank schonmal...

SQL Query über mehrere Tabellen?
sql, Datenbank
2 Antworten

Meistgelesene Fragen zum Thema Sql