我在VB.NET应用程序中有两个表单 - let data = [{
type: "Typical",
tower: "T3",
floor: "4",
flat: "B",
status: ""
},
{
type: "Typical",
tower: "T5",
floor: "5",
flat: "C",
status: "closed"
},
{
type: "Typical",
tower: "T7",
floor: "4",
flat: "B",
status: "closed"
},
{
type: "Typical",
tower: "T4",
floor: "7",
flat: "B",
status: "closed"
},
{
type: "Typical",
tower: "T2",
floor: "5",
flat: "C",
status: "opening"
},
];
let dataObj = [];
data.forEach(function(item) {
let getIndex = dataObj.findIndex(function(item2, index) {
return item2.title === item.status
})
if (getIndex === -1) {
let obj = {};
obj.title = item.status
obj.times = 1;
dataObj.push(obj)
} else {
dataObj[getIndex].times = dataObj[getIndex].times + 1;
}
})
console.log(dataObj)
dataObj.forEach(function(item) {
for (var keys in item) {
document.write(keys + ':' + item[keys] + '</br>')
}
})
和FormA
。两个表单都有一个名为FormB
的文本框和一个相同的函数,可以从某个SQL查询更新文本框 - textbox1
- 由按钮或其他东西触发。
Sub getvaluefromSQL()
的共享模块访问getvaluefromSQL()
,而不是在两种表单中复制CentralModule
的代码?getvaluefromSQL()
从调用它的表单中更新正确的文本框? 感谢。
答案 0 :(得分:0)
您可以使用公共(或朋友)功能创建模块。您可以将文本框作为参数传递给函数。如果SQL不同,您也可以传递SQL。
答案 1 :(得分:0)
正如其他人所说,拥有一个对数据库,用户界面以及其他东西执行操作的功能是一个糟糕的主意。您需要将您的关注点分开,从而为I / O操作,UI管理,业务逻辑等设计不同的功能。所以您需要稍微改变一下设计。
首先,当然有一种方法可以在共享模块中放置公共代码 - 例如CentralModule
。这就是模块的用途。
Module CentralModule
Public Function getvaluefromSQL() As String
Dim result As String
' Fetch your data from SQL, calculate as necessary and assign the result
Return result
End Function
End Module
然后,在每个表单中执行以下操作:
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
textbox1.Value = CentralModule.getvaluefromSQL
End Sub