gpt4 book ai didi

PowerBuilder:使用数据窗口插入数据

转载 作者:行者123 更新时间:2023-12-04 06:51:33 25 4
gpt4 key购买 nike

假设我有一个名为“test”的表,其中包含三个名为 test_id 的列。 , test_nametest_age .我使用了一个名为 :al_test_id 的检索参数。提示用户插入一个id并在数据库中搜索对应的id条目,如果找到,则显示给用户。现在,如果没有找到任何条目,那么我希望用户能够使用他/她作为检索参数输入的 id 插入一个新行。

我怎样才能做到这一点?

最佳答案

所以,这个问题有很多解决方案。这是一个。

在用户启动搜索时触发的事件中(注意 ii_TestID 是一个实例变量,其他变量声明是本地的并留给您):

ii_TestID = Integer (sle_SearchTest.Text)
ll_RowCount = dw_Test.Retrieve (ii_TestID)
IF ll_RowCount = 0 THEN dw_Test.InsertRow(0)

我将假设 UI 中没有用于添加新测试结果的按钮,因此我们一次只处理一个。如果要保存:
li_ID = dw_Test.GetItemNumber (1, "test_id")
IF IsNull (li_ID) OR li_ID = 0 THEN dw_Test.SetItem (1, "test_id", ii_TestID)
dw_Test.Update()

为什么我要在最后一分钟才设置 test_id?所以我可以在窗口的 CloseQuery 事件中编写这样的代码:
IF dw_Test.ModifiedCount() > 0 or dw_Test.DeletedCount() > 0 THEN
CHOOSE CASE MessageBox ("Huh?", "Would you like to save your changes before exiting?", Question!, YesNoCancel!)
CASE 1
EVENT ue_Save()
CASE 2
// do nothing
CASE 3
RETURN 1
END CHOOSE
END IF

如果我在 InsertRow() 之后立即更改了 test_id,那么 ModifiedCount() 会立即将该行注册为已更改,即使用户尚未执行任何操作。没有什么比在我没有做任何更改时让计算机提示我保存更改更烦人的了。

祝你好运,

特里。

关于PowerBuilder:使用数据窗口插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050908/

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