Как хранить объекты в таблице sqlite в react-native?

#sqlite #react-native

#sqlite #react-native

Вопрос:

Я пытаюсь поместить объекты в таблицу sqlite. Для этого я использую react-native-sqlite. Когда я сохраняю объект, преобразуя его в строку, он сохраняется как [object, object]

     let water_characterstics = {"summer": {"bod": CSbodSummer,"cod": CScodSummer,"tss":CStssSummer,"mcoli":CSmcoliSummer},
                    "winter": {"bod": CSbodWinter,"cod": CScodWinter,"tss":CStssWinter,"mcoli":CSmcoliWinter},
                    "current": {"bod": CSbodCurrent,"cod": CScodCurrent,"tss":CStssCurrent,"mcoli":CSmcoliCurrent}
                    }

let wCC = water_characterstics.toString();

     db.transaction(function(tx) {
                      tx.executeSql(
                        'INSERT INTO stream_liquid_untapped (city_id, drain_name,drain_type,survey_type, drain_status, pollution_reason,status_latitude,status_longitude, treatment_type, stream_flow, meeting_latitude, meeting_longitude, meeting_avatar1_source, meeting_avatar2_source, meeting_avatar1_name, meeting_avatar2_name, characterstic_water, remarks, synced) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
                        [1, drain_name,drain_type_number,1,3,pA,0,0,tapValue,stream_flow,ganga_meet_latitude,ganga_meet_longitude,av1_meeting_source,av2_meeting_source,av1_meeting_name,av2_meeting_name,wCC,rmrks,false],
                        (tx, results) => {  
                          console.log('Results', results.rowsAffected);
                          if (results.rowsAffected > 0) {
                            that.setState({ShowSaveModal:true});
                          } else {
                            Alert.alert(
                              'Failed',
                              [
                                {
                                  text: 'Ok',
                                },
                              ],
                              { cancelable: false }
                            );
                          }
                        }
                      );
                    });
  

Ответ №1:

Вы сделали water_characterstics.toString() , что всегда возвращается [object Object] . Вместо этого вы должны сделать JSON.stringify(water_characterstics) .

Смотрите https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

Комментарии:

1. у меня возникла некоторая проблема с sqlite, я создаю функции вставки извлечения удаления, и по какой-то причине у меня это не работает. не могли бы вы мне помочь, пожалуйста?