String in Datenbank einfügen

Diskutiere String in Datenbank einfügen im Datenbankprogrammierung Bereich.
C

chrism120

Hallo , ich habe eine kleine Sorge. Ich dieses String in meine Tabelle einfügen. ja ich weiß ich kann dieses direkt in meinen Befehl reinfügen. Das Ziel ist später in meinem Projetkt solche Kontruktion zu verwenden.
meine Code ist Folgendes.
Java:
    String N="11.0.0.0";
        connectDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        connectdb("jdbc:sqlserver://NB4417;database=Unit;","sa","HBm12340");
        insertdb("INSERT INTO Adresse VALUES (N)")
wenn ich diese Code compiliere kriege ich folgenden Fehler.
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The left-hand side of an assignment must be a variable
Syntax error on token "'N'", invalid AssignmentOperator

at pattern.Observer.test.main(test.java:63)
Bitte Hilfe: Danke im Voraus für Ihren Beitrag.
 
C

chrism120

Was steht denn an der Stelle (Zeile 63 in test.java)?
nicht nur das Ende meines Programmes.
und ich habe eine bisschen gebastelt
Java:
package pattern.Observer;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

public class test {
    private static ResultSetMetaData res ;
    private static Connection conn=null;
    private static ResultSet resultat =null;
//Connect to Database
    
public static void connectdb(String url,String user,String pass) {

    try {
            conn= DriverManager.getConnection(url,user,pass);
            System.out.println("connection ok");
        
        }catch (SQLException e) {
            System.out.println("problem with the connection");
        }
        
    }
//Connect to driver
public static void connectDriver(String url) {
try {
    Class.forName(url);
    }catch (ClassNotFoundException ex) {
        System.out.println("Problem with drivers " +ex);
    }
}
// insert date in database
public static void  insertdb(String sql) {
    try {
        
    Statement st=conn.createStatement();
    resultat=st.executeQuery(sql);
    
}
    catch (SQLException e) {
        
        System.out.println("Problem with execution  :  " +e);
        
    }
}
///Main
    public static void main(String[] args) {
        String N="11.0.0.0";
        connectDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        connectdb("jdbc:sqlserver://NB4417;database=Unit;","sa","HBm12340");
        insertdb("INSERT INTO Adresse VALUES" +"("+ N +")");
    }

}
und bekomme ich diesen Fehler.
connection ok


Problem with execution : com.microsoft.sqlserver.jdbc.SQLServerException: Falsche Syntax in der Nähe von '.0'.
 
Thallius

Thallius

Also Dein Query ist sinnloss ein INSERT hat folgende Syntax

INSERT INTO tablename (columnname1, columname2,...) VALUES (value1, value 2, ...)
 
C

chrism120

Also Dein Query ist sinnloss ein INSERT hat folgende Syntax

INSERT INTO tablename (columnname1, columname2,...) VALUES (value1, value 2, ...)
ich wollte wissen , ob es möglich ist dieses String aufzurufen. anstatt zum Beispiel dies INSERT INTO Adresse (IP) VAlue ('10.0.0.0'). Da ich ich schon String S = "10.0.0.0" definiert habe.
 
mihe7

mihe7

Java:
String ip = "11.0.0.0";
try(PreparedStatement stmt = conn.prepareStatement("INSERT INTO Adresse VALUES (?)")) {
    stmt.setString(1, ip);
    stmt.executeUpdate();
}
(Achtung: direkt hierein aus dem Kopf geschrieben, kann also Fehler enthalten)
 
Thallius

Thallius

Mach auf die Column einen unique oder primary key. Dann kannst du es so lösen

Code:
INSERT INTO tablename (IP) VALUES (?) ON DUPLICATE KEY UPDATE IP = ?
 
C

chrism120

Java:
String ip = "11.0.0.0";
try(PreparedStatement stmt = conn.prepareStatement("INSERT INTO Adresse VALUES (?)")) {
    stmt.setString(1, ip);
    stmt.executeUpdate();
}
(Achtung: direkt hierein aus dem Kopf geschrieben, kann also Fehler enthalten)
DANKE. das habe ich auch gemacht. ;):cool::cool::cool::cool::cool::cool:
 
Thema: 

String in Datenbank einfügen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben