Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何从SQLite表中获取值的总和?_Vb.net_Sqlite - Fatal编程技术网

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