.NET 2.x Выполнить операции по формуле, которая хранится в базе данных - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Можно ли выполнить операции по формуле, которая хранится в базе данных. Например, динамически будут созданы тектбоксы с именами А1, А2, А3.... Аn, имена которых берутся также из БД. Надо выполнить формулу A1 + A2 - A3 + ... - An и результат поместить в текстбокс с именем Asumm таблица: FldName | FldFormula A1 | A2 | A3 | Asumm | A1+A2-A3
Листинг программы
  1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2. dbt.Open()
  3. Dim commmand As New OleDbCommand("SELECT * FROM Tabl;", dbt)
  4. Dim reader As OleDbDataReader = commmand.ExecuteReader()
  5. Dim Counter As Integer = 0
  6. For Each recotd As DbDataRecord In reader
  7. Dim l As New TextBox With {.name = recotd("FldName"), .tag = recotd("FldFormula"), .Width = 100, .Height = 22, .Left = 100, .Top = Counter * 25}
  8. Me.Panel1.Controls.Add(l)
  9. AddHandler l.LostFocus, AddressOf txt_LostFocus
  10. Next
  11. End Sub
  12. Private Sub txt_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs)
  13. Asumm.text = A1+A2-A3 'здесь надо выполнить формулу из Asumm.tag
  14. End Sub

Решение задачи: «.NET 2.x Выполнить операции по формуле, которая хранится в базе данных»

textual
Листинг программы
  1. Private Sub Script_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  2.     Dim action As String = CType(Asumm.Tag, String)
  3.     Asumm.Text = action
  4.     For Each ob As Control In Me.Panel1.Controls
  5.         If TypeOf ob Is TextBox AndAlso ob.Name.StartsWith("A") Then
  6.             action = action.Replace(ob.Name, ob.Text)
  7.         End If
  8.     Next
  9.     AxScriptControl1.Reset()
  10.     TextBoxOut.Text = AxScriptControl1.Eval(action)
  11. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы