.NET 2.x Выполнить операции по формуле, которая хранится в базе данных - Visual Basic .NET
Формулировка задачи:
Можно ли выполнить операции по формуле, которая хранится в базе данных.
Например, динамически будут созданы тектбоксы с именами А1, А2, А3.... Аn, имена которых берутся также из БД.
Надо выполнить формулу A1 + A2 - A3 + ... - An и результат поместить в текстбокс с именем Asumm
таблица:
FldName | FldFormula
A1 |
A2 |
A3 |
Asumm | A1+A2-A3
Листинг программы
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- dbt.Open()
- Dim commmand As New OleDbCommand("SELECT * FROM Tabl;", dbt)
- Dim reader As OleDbDataReader = commmand.ExecuteReader()
- Dim Counter As Integer = 0
- For Each recotd As DbDataRecord In reader
- Dim l As New TextBox With {.name = recotd("FldName"), .tag = recotd("FldFormula"), .Width = 100, .Height = 22, .Left = 100, .Top = Counter * 25}
- Me.Panel1.Controls.Add(l)
- AddHandler l.LostFocus, AddressOf txt_LostFocus
- Next
- End Sub
- Private Sub txt_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs)
- Asumm.text = A1+A2-A3 'здесь надо выполнить формулу из Asumm.tag
- End Sub
Решение задачи: «.NET 2.x Выполнить операции по формуле, которая хранится в базе данных»
textual
Листинг программы
- Private Sub Script_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- Dim action As String = CType(Asumm.Tag, String)
- Asumm.Text = action
- For Each ob As Control In Me.Panel1.Controls
- If TypeOf ob Is TextBox AndAlso ob.Name.StartsWith("A") Then
- action = action.Replace(ob.Name, ob.Text)
- End If
- Next
- AxScriptControl1.Reset()
- TextBoxOut.Text = AxScriptControl1.Eval(action)
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д