Vb.net 如何从SQLite表中获取值的总和?
我试图从一个专栏中收集出价并分发平均值Vb.net 如何从SQLite表中获取值的总和?,vb.net,sqlite,Vb.net,Sqlite,我试图从一个专栏中收集出价并分发平均值 Try TotalSum += Convert.ToInt32(row(Column)) Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString) Catch End Try 我收到一个InvalidCast异常:指定的强制转换无效。论总和+= Try TotalSum += Convert.ToInt3
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
我收到一个InvalidCast异常:指定的强制转换无效。论总和+=
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
任何帮助都将不胜感激
Dim sql As String = "SELECT " & Column & " FROM " & Table & " ;"
Dim dt As DataTable = SQLiteDatabase.GetDataTable(sql)
Column = Column.Replace("[", "")
Column = Column.Replace("]", "")
For Each row As DataRow In dt.Rows
TotalSum += DirectCast(row(Column), Integer)
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Next row
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
检查这个
int suma = 0;
Dim dc as DataColumn = dt.Columns[0] //Column to add
For Each row As DataRow In dt.Rows
suma += int.Parse(row[dc])
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
您好谢谢您的回复
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
我的解决办法是
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
尝试添加Catch块以监视vbNull。我只想要大于0的值,最终的解决方案是
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try
Dim suma As Double = 0.0R
For Each row As DataRow In dt.Rows
Dim num As Double = 0R
Double.TryParse(row(Column).ToString, num)
suma += num
Next row
在我的应用程序中,列可能包含Stings,因为用户可以直接输入SQL。我只使用双精度类型,但整数是一个选项1。你的总和是整数吗?2.检查dt中的每一行,确保列是整数列。在第一行有一个dbNull。它不在表中是的,这就是错误的来源。您可以放置一个try-catch块来跳过该记录,就像您的答案一样,但是检查空值的原因会更好。
Try
TotalSum += Convert.ToInt32(row(Column))
Console.WriteLine("Calculating TotalSum {0}", TotalSum.ToString)
Catch
End Try