Рейтинг:
2
OriginalGriff
Что ж... посмотрите, что вы делаете. Вы меняете имя арендатора на значение, с которого начинаете! Это означает, что первое обновление - по определению - никогда не вносит никаких изменений, и если бы оно это сделало, то, скорее всего, испортило бы вашу базу данных, поскольку фамилии даже близко не уникальны. И дефисы в названиях ваших столбцов тоже совсем не помогают...
Вероятно, вы хотели сделать вот что:
UPDATE Tenants SET fname=@fname WHERE [tnant-id] = @tenantId
UPDATE lease SET deposit=@deposit WHERE [tenant-id]=@tenantId
Но я бы посоветовал вам изменить названия столбцов:
Арендатор:
ID,
fName
lName
Age
Аренда
ID
deposit
entryDate
departureDate
tenantID
Она более последовательна и с ней легче работать.
Member 11239384
да, но как система узнает, какую запись обновить, потому что не может кормить ее с помощью tenant-id, который она автоматически генерирует.И я не использую вид сетки, где я могу выделить запись для обновления
OriginalGriff
Вы не можете обновить запись, если она уже не существует, что означает, что у нее уже есть идентификатор.
Если вам нужен новый идентификатор, то это означает, что у вас есть новая запись, и вы не используете UPDATE для этого, вы используете INSERT.
Member 11239384
теперь я попробовал его так, и он не обновляется .потому что он не знает, какой идентификатор обновить.должен ли я создать текстовое поле для ввода идентификатора ?
OriginalGriff
Как вы собираетесь использовать текстовое поле в хранимой процедуре? :смеяться:
SQL Server не имеет прямого доступа к вашему пользователю...
Я думаю, что вам нужно сделать шаг назад на мгновение и подумать о том, чего именно вы пытаетесь достичь, а не о механике того, как это реализовать - Вы, кажется, немного смущены тем, что такое обновление.