Novice12 Ответов: 1

Вычисление значений текстовых полей и их сохранение


Я пытаюсь создать систему, которая подсчитывает количество абитуриентов
Мой код фактически вычисляет значения текстовых полей но когда я нажимаю кнопку Сохранить он говорит

Преобразование из строки "Update requires a valid UpdateCo" в тип "Integer" недопустимо.

Может ли кто-нибудь, пожалуйста, помочь мне, как

Что я уже пробовал:

Это мой код кнопка Добавить
Dim con As New System.Data.OleDb.OleDbConnection("Provider = Microsoft.jet.OleDB.4.0;Data Source =  " & Application.StartupPath & "\planning.mdb;")
Try
    ElementaryBindingSource.EndEdit()
    ElementaryTableAdapter.Update(PlanningDataSet.Elementary)
    Me.Update()
    MessageBox.Show(" Data Added Successfully")
Catch ex As Exception
    Error (ex.Message)
End Try
А это для кнопки вычислить
Dim ans As Integer
ans = TMTextBox.Text
TMTextBox.Text = Val(KMTextBox.Text) + Val(G1MTextBox.Text) + Val(G2MTextBox.Text) + Val(G3MTextBox.Text) + Val(G4MTextBox.Text) + Val(G5MTextBox.Text) + Val(G6MTextBox.Text)

Sandeep Mewara

Ошибка не совсем ясна в том, что вы получили. Можете ли вы поделиться точной ошибкой?

Похоже, что в вашем коде произошла ошибка преобразования типов данных.

Novice12

Преобразование из строки "Update requires a valid UpdateCo" в тип "Integer" недопустимо.

это именно та ошибка, которая всплывает

Maciej Los

Dim ans As Integer
ans = TMTextBox.Text 'string is not integer!

1 Ответов

Рейтинг:
1

Maciej Los

В этой строке возникает ошибка:

Dim ans As Integer
ans = TMTextBox.Text 'string is not integer!


Пожалуйста, не используйте Вал[^] чтобы получить целочисленное значение, потому что оно специфично для vb.
Вместо этого используйте его: Int32.Метод Синтаксического Анализа (System) | Microsoft Docs[^] или Типа int32.Метод TryParse (Система) | Microsoft Docs[^]

[РЕДАКТИРОВАТЬ]
Использование:
Dim tboxes As List(Of TextBox) = New List(Of TextBox) With {KMTextBox, G1MTextBox, G2MTextBox, G3MTextBox, G4MTextBox, G5MTextBox, G6MTextBox}

Dim result As Integer = 0
For Each txt As TextBox In tboxes
	Dim tmpVal As Integer = 0
	Dim success As Boolean = Int32.TryParse(txt.Text, tmpVal)
	If success Then result += tmpVal
Next
TMTextBox.Text = result.ToString()


Novice12

Не могли бы вы привести мне пример

я пытался

KTTextBox.Текст = int32 значение.typeparse(kmtextbox.Текст) + типа int32.метод tryparse(kftextbox.Текст)

но там написано:

Разрешение перегрузки не удалось, поскольку ни один доступный "TryParse" не принимает такое количество аргументов.

Sandeep Mewara

Похоже, вы вообще не открывали справочные документы. TryParse принимает два аргумента, он выводит значение и возвращает логическое значение в случае успеха или нет.
Dim number As Integer
Dim success As Boolean = Int32.TryParse(value, number)

Sandeep Mewara

+5

Maciej Los

Спасибо, Сандип.