每当有人尝试使用我的程序注册并将非必需的文本字段留为空白时,我的指令会发送一个“”(空白)数据,而不是一个空数据,我如何使我插入的数据为空文本字段为空?谢谢
问问题
129 次
2 回答
2
如果您使用的是原始 SQL:
insert into mytable values ('foo', null, 'bar')
如果您使用准备好的语句:
preparedStatement.setObject(columnIndex, null);
使用您评论中的查询,这是一个简单的修复:应用replaceAll()
将所有空白更改为 null
,如下所示:
st.executeUpdate("INSERT INTO clientes (Nombre, Telefono, Calle, Numero,Colonia, Municipio, Estado, Codigo_Postal,Sexo,Fecha_nacimiento) VALUES ('"
+ snombre_cliente + "','" + stelef_cliente + "','" + scalle + "','" + snumero + "','" + scolonia + "','" + smunicipio + "','" + sestado + "','" + scodigop + "','" + ssexo + "','" + sfecha
+ "')".replaceAll("'\\s*'", "null"));
这将用单词“null”替换由任意数量的空格(包括没有空格)分隔的所有引号。
于 2013-05-21T01:01:13.573 回答
0
试试这个:
preparedStatement.setNull(1,java.sql.Types.String)
于 2013-05-23T05:03:45.423 回答