Как окно данных powerbuilder выполняет команду вставки - PullRequest
2 голосов
/ 14 июня 2010

Я новичок в Powerbuilder и у меня много проблем с использованием Windows данных.Я не могу разобраться с механизмом вставки.Может кто-нибудь объяснить мне или, по крайней мере, указать мне правильное направление (статья, советы и т.д ...)?

Ответы [ 2 ]

9 голосов
/ 14 июня 2010

SQL, сгенерированный DataWindow, управляется Свойствами обновления (пункт меню Строки / Свойства обновления ...). Оттуда вы можете выбрать одну таблицу и установить свойства, которые будут использоваться для генерации SQL. Where Clause ... определяет, какие столбцы и их исходные значения используются в предложении WHERE для UPDATE и DELETE. Изменение ключа вступает в силу только тогда, когда вы меняете (или разрешаете пользователю изменять) столбцы, которые вы определили как ключ. Обновляемые столбцы - это список того, что будет генерировать SQL (это не влияет на то, что пользовательский интерфейс позволяет так или иначе). Столбцы ключей могут быть первичным ключом (который может автоматически заполняться кнопкой первичного ключа, если ваша СУБД поддерживает вызовы для запроса этого из базы данных), но это не обязательно , (Есть довольно уникальные случаи, когда вы можете захотеть сделать что-то другое.) Если в качестве ключа у вас есть столбец идентификаторов, вы можете идентифицировать его в своем DataWindow, и он будет получать сгенерированное значение после INSERT.

После этого, заполнение данных в DataWindow с помощью InsertRow (), DeleteRow (), SetItem () и, конечно, предоставление пользователю пользовательского интерфейса, будет изменять данные и флаги состояния, которые будут определять SQL, сгенерированный при Update () называется.

Все они могут быть изменены во время выполнения с помощью функции Modify (), так что вы можете делать такие вещи, как обновление нескольких таблиц с одним DataWindow. Это реализовано в службе многостоловых обновлений PowerBuilder Foundation Class, поэтому, если вы когда-нибудь захотите изменить эти значения во время выполнения, это хороший пример кода.

Удачи,

Терри.

2 голосов
/ 15 июня 2010

@ Archangel Вам по-прежнему необходимо указывать поле test_id при вставке строки в окно данных даже после того, как вы указали для нее значение в качестве аргумента поиска. После того, как вы выполните вставку, убедитесь, что вы установили элемент для всех значений, которые не допускают нулевые значения.

...