gpt4 book ai didi

JAVA SQL 将所有通配符分配为 null

转载 作者:行者123 更新时间:2023-12-01 11:26:13 24 4
gpt4 key购买 nike

我当前返回了一个带有标记空值的字符串通配符的 SQL 字符串。我正在尝试找到一种方法将所有这些通配符值设置为空。环顾四周后,我发现了一个preparedStatement.setNull()方法,但是它需要一个索引,并且通配符的索引可能会发生变化。有办法克服这个问题吗? (下面给出的示例 SQL 字符串):

String sqlCmd=
"INSERT INTO gs_support_structure (OBJECTID, gs_support_structure_gs_guid,
gs_support_structure_gs_vc_revision, gs_support_structure_gs_old_objectid,
gs_support_structure_gs_symbol_rotation, gs_support_structure_gs_subtype_cd,
gs_support_structure_gs_equipment_location, gs_support_structure_gs_map_no,
gs_support_structure_gs_substation, gs_support_structure_gs_description,
gs_support_structure_gs_height, gs_support_structure_gs_class,
gs_support_structure_gs_installation_date, gs_support_structure_gs_comments,
gs_support_structure_gs_date_created, gs_support_structure_gs_date_modified,
gs_support_structure_gs_diameter, gs_support_structure_gs_foundation_type,
gs_support_structure_gs_grounded, gs_support_structure_gs_manufacturer,
gs_support_structure_gs_material, gs_support_structure_gs_owner,
gs_support_structure_gs_pole_count, gs_support_structure_gs_style,
gs_support_structure_gs_treatment_type, gs_support_structure_gs_usage_type,
gs_support_structure_gs_old_layer_name,
gs_support_structure_gs_year_manufactured, gs_support_structure_gs_obj_no,
gs_support_structure_gs_prev_pole_id, gs_support_structure_gs_feeder_number,
gs_support_structure_gs_bec_substation,
gs_support_structure_gs_line_section, gs_support_structure_gs_facility_id,
gs_support_structure_gs_work_initiation_id,
gs_support_structure_gs_height_estimated,
gs_support_structure_gs_double_wood, gs_support_structure_gs_damaged,
gs_support_structure_gs_image_number, gs_support_structure_gs_x_coordinate,
gs_support_structure_gs_y_coordinate, gs_support_structure_gs_latitude,
gs_support_structure_gs_longitude, gs_support_structure_gs_gps_type,
gs_support_structure_gs_quality_value_meters,
gs_support_structure_gs_elevation_meters,
gs_support_structure_gs_construction_unit, gs_support_structure_gs_tag,
gs_support_structure_gs_tag_placed, gs_support_structure_gs_oldattachpole,
gs_support_structure_gs_poletopped, gs_support_structure_gs_polehazard,
gs_support_structure_gs_raptor, gs_support_structure_gs_groundpresent,
gs_support_structure_gs_test, gs_support_structure_gs_gpsdate,
gs_support_structure_gs_gpstime, gs_support_structure_gs_sriid,
gs_support_structure_gs_vc_modified_sw,
gs_support_structure_gs_ju_attached_fi,
gs_support_structure_gs_related_staking_guid,
gs_support_structure_gs_hyperlink, gs_display_feature_name, gs_guid) VALUES
('227', '{20731926-2A46-CDAC-547C-71226454977D}', '1099', '12202', '0.0',
'1', '1812', '571871874801', '9', ?, '40', '6', ?, ?, 'Thu Feb 25 17:25:19
CST 2010', 'Mon Feb 13 12:19:34 CST 2012', ?, ?, ?, ?, 'WOOD', 'BARTLETT',
?, ?, ?, 'PRI', ?, 'UNK', ?, ?, '03', 'Salty', ?, '1812', ?, 'Y', 'N', 'N',
?, '3293532.68888944', '1.021396693284668E7', '30.64895755', '-97.16239132',
?, ?, ?, ?, '106382', 'Y', 'N', 'N', 'NONE', 'NONE', 'Y', 'UNK', 'Fri Sep 04
00:00:00 CDT 2009', 'Sat Dec 30 10:24:13 CST 1899', '1812', ?, 'N', ?, ?,
'gs_support_structure', '{D63C9735-4632-7E71-726C-3248E8B25E44}')"

PreparedStatement preparedStatement =
spatialLiteConnection.prepareStatement(sqlCmd);

preparedStatement.execute();
JdbcUtil.close(preparedStatement);

最佳答案

在这种情况下,我可以建议您不要使用preparedStatement.setNull()(这样您的语句每次都会不同,并且每次都会进行硬解析),而只需替换您所有的“?”语句中的“NULL”。为什么不呢?

关于JAVA SQL 将所有通配符分配为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com