Ваша проблема в основном связана с тем, что вы выполняете 2 отдельных оператора INSERT, где вы должны выполнять только 1.
Второе утверждение INSERT совершенно неверно:
INSERT INTO installation_status1 (installation_id)select installation_id FROM installation1
Этот оператор будет вставлять новые записи с нулевыми значениями для столбца remarks
и столбца status
; когда вы выполняете этот оператор, то для каждой записи в таблице установки в это время вы будете вставлять новую соответствующую запись в таблицу установки_статус1. Я уверен, что это совсем не то, что вы хотите.
Ваше первое выражение INSERT должно выглядеть примерно так:
insert into installation_status1 (installation_id,status1,remarks)values(" + installationId + ",'" + s2 + "','" + txtrmks.Text + "')
(Дополнительное примечание. При таком подходе вы потенциально можете открыть себя для «SQL-инъекции», поскольку похоже, что вы непосредственно вставляете пользовательский ввод в свой запрос. Попробуйте вместо этого использовать параметры .)
Я добавил столбец installation_id
в оператор вставки, а также указал значение этого столбца с помощью (в настоящее время неопределенной) переменной с именем installationId
. Вам нужно будет выяснить, как заполнить переменную instalId; Ваше приложение должно заранее знать, к какой «установке» пользователь пытается применить замечания и статус, а это означает, что до того, как вы достигнете этой точки, ваше приложение должно уже знать, какой правильный installationId
.