防止jdbc填充sql insert和update上的字符串

Kev*_*Day 1 java odbc jdbc

我们使用jdbc-odbc桥连接到MS SQL数据库.执行插入或更新时,将字符串放入填充到数据库字段长度的数据库中.有没有办法关闭这种行为(字符串应该没有填充进入表)?

作为参考,我们能够使用SQL管理工具和查询分析器插入不包含填充的字段值,所以我很确定这是在jdbc或odbc层事件中发生的.

编辑:数据库中的字段列为nvarchar(X),其中X = 50,255等等

编辑2:执行插入的调用是使用预准备语句,如:

PreparedStatement stmt = new con.prepareStatement("INSERT INTO....");
stmt.setString(1, "somevalue");
Run Code Online (Sandbox Code Playgroud)

Asc*_*ian 5

你是如何设置字符串的?你在做什么?:

PreparedStatement stmt = new con.prepareStatement("INSERT INTO....");
stmt.setString(1, "somevalue");
Run Code Online (Sandbox Code Playgroud)

如果是这样,试试这个:

stmt.setObject(1, "somevalue", Types.VARCHAR);
Run Code Online (Sandbox Code Playgroud)

再一次,这只是猜测,而没有看到你如何插入.