2016-05-03 11 views
1

Ich habe versucht, diesen sehr einfachen Code zu schreiben, um das Problem ohne Variablen zu finden, aber ich kann nicht. Wenn ich die gleiche Abfrage im SQL Developer kopiere, funktioniert es. Die Serverversion wird weiterhin korrekt in der Nachrichtenbox angezeigt.Warum wirft cmd.executeNonQuery() ManagedDataAccess.Client.OracleException?

Die Funktion wird wie genannt: new Dal().testCon();

public OracleConnection con; 

public Dal() 
{ 
    con = new OracleConnection(); 
    con.ConnectionString = "User Id=satan;Password=666;Data Source=MyDB"; 
} 

public void testCon() 
{ 
    con.Open(); 
    MessageBox.Show(con.ServerVersion); 
    OracleCommand cmd = new OracleCommand("insert into myuser values(1,'Pornstar','xxx',18);", con); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 

Stack-trace

+1

Wenn Sie jemanden wollen Sie mit einem Fehler helfen, Ihnen eine detaillierte Fehlermeldung schreiben müssen (dh einen Stack-Trace , nicht nur die Nachricht von der äußeren Ausnahme) – Tibrogargan

+0

nehmen Sie die ';' am Ende Ihrer Insert-Anweisung – cableload

+0

Danke, dachte nicht einmal über das Semikolon könnte ein Fehler bis jetzt sein. :) – HalfGod

Antwort

2

Der Fehler, indem Sie das Semikolon in der SQL verursacht wird. Ändern Sie die Abfragezeichenfolge in "insert into myuser values(1,'Pornstar','xxx',18)".

ich auch empfehlen würde, die Verbindung in die testCon Methode bewegt, etwa so:

private const string ConnectionString = "User Id=satan;Password=666;Data Source=MyDB"; 

public Dal() 
{ 
} 

public void testCon() 
{ 
    using (OracleConnection connection = new OracleConnection(ConnectionString)) 
    { 
     OracleCommand cmd = new OracleCommand("insert into myuser values(1,'Pornstar','xxx',18)", connection); 
     cmd.Connection.Open(); 
     MessageBox.Show(connection.ServerVersion); 
     cmd.ExecuteNonQuery(); 
    } 
} 
+0

lol, ich kann nicht stundenlanges verschwenden, weil ein Semikolon ... Vielen Dank. :) – HalfGod

+0

Da war schon mal :-) Glücklich, dass ich geholfen habe – AGB

Verwandte Themen