java.sql.SQLSyntaxErrorException:语法错误:遇到“ St \ u00f6rungen”

问题描述 投票:0回答:1

我正在尝试用一些信息填充我的Derby数据库,但我一直收到此错误。

我已经将我的项目编码为UTF-8,但是我的Derby数据库似乎不明白这些->“Ä,Ö,Ü”

我该如何解决?我不想放“ ae,oe,ue”

这里是发生事情的示例:

st.executeUpdate("Insert into Scoarboard(Name,Wirkung,Ursprung,Stoffklasse,Schadenspot,Risiken,Legalitaet,NutzungMedi,NutzungGenuss,Konsum) "
                + "values (- Cannabis (Marihuana),- Sedativa/Hypnotika,- biogenpflanzlich,- Cannabinoide,"
                + "- 20/100,- Schwindel/übelkeit\r\n- Müdigkeit\r\n- Herzrasen\r\n- psychische Störungen,"
                + "- legal (verschreibungspflichtig),- Schmerzlindernd\r\n- Angstlösend\r\n- Reduziert Wachstum von Tumorzellen\r\n"
                + "- Entkrampfend\r\n- Antipsychotisch\r\n,- Appetitanregend\r\n- Euphorisierend\r\n- Entspannend\r\n,"  
                + "- Lunge (Joint)\r\n- Magen-Darm-Trakt (Gebäck)\r\n- Mundschleimhäute (Tinktur)\r\n)");
java sql encoding utf-8 derby
1个回答
0
投票

首先,我建议查找ANSI的格式,如果您想要的ansi格式不正确,则应更改其格式

AnSI FORMAT

此外,我建议您使用过程,因为它有助于保存数据,也有可能您不需要更改其过程

这是有关SQL SERVER中的过程的示例

USE prueba;  
GO  
CREATE PROCEDURE dbo.aaaa

    @be_state int,   
    @resultado int OUTPUT

AS   

    BEGIN TRY


              INSERT INTO prueba.dbo.aaaa(be_state) VALUES (
              @be_state); 

         SET @resultado=1

    END TRY
    BEGIN CATCH
       SELECT  
           ERROR_NUMBER() AS ErrorNumber  
          ,ERROR_SEVERITY() AS ErrorSeverity  
          ,ERROR_STATE() AS ErrorState  
          ,ERROR_PROCEDURE() AS ErrorProcedure  
          ,ERROR_LINE() AS ErrorLine  
          ,ERROR_MESSAGE() AS ErrorMessage; 
       SET @resultado=2;
       RETURN @resultado;
    END CATCH; 




GO  
© www.soinside.com 2019 - 2024. All rights reserved.