首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有为类型“Decimal”和类型“DBNull”定义运算符“+”

没有为类型“Decimal”和类型“DBNull”定义运算符“+”
EN

Stack Overflow用户
提问于 2017-02-21 02:46:49
回答 1查看 1.5K关注 0票数 0

我正在努力显示我的datagrid中的数据,并显示textbox2中引入的项的总数,但是这个错误“运算符'+‘没有为类型'Decimal’和类型‘DBNull’定义。”有什么问题吗?请帮帮我,我非常需要完成这件事。:(

代码语言:javascript
运行
复制
Private Sub dailySales_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    con.Connect()
    DataGridView1.DataSource = dtb
    dtb.Columns.Add("Transaction Code")
    dtb.Columns.Add("Transaction Date ")
    dtb.Columns.Add("Item Code")
    dtb.Columns.Add("Item")
    dtb.Columns.Add("Description")
    dtb.Columns.Add("Quantity")
    dtb.Columns.Add("Price")
    dtb.Columns.Add("Total")
    display()
    con.Close()
    total()
    TextBox1.Text = DataGridView1.RowCount()
    Me.DataGridView1.DefaultCellStyle.Font = New Font("Cambria", 10)
    Me.DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font("Cambria", 12)
    Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.FromArgb(129, 207, 224)
    Dim i As Integer
    For i = 0 To DataGridView1.Columns.Count - 1
        DataGridView1.Columns.Item(i).SortMode = DataGridViewColumnSortMode.Programmatic
    Next
End Sub
Sub total()
    Dim sum As Decimal = 0
    For x = 0 To DataGridView1.Rows.Count - 1
        sum =sum +  DataGridView1.Rows(x).Cells(7).Value
    Next
    TextBox2.Text = sum
End Sub
Sub display()
    con.Connect()
    Label6.Text = Date.Now.ToString("dd MMMM yyyy")
    Dim da = Label6.Text
    Dim sc = " where lower(tns_date) like lower('%" & da & "%') "
    Dim sql = "select * from tns " & sc & " order by tns_code desc"
    odr = con.Retrieve(sql)
    dtb.Clear()
    While (odr.Read)
        Dim ic = odr.GetOracleValue(0)
        Dim itn = odr.GetOracleValue(1)
        Dim de = odr.GetOracleValue(2)
        Dim ca = odr.GetOracleValue(3)
        Dim pr = odr.GetOracleValue(4)
        Dim st = odr.GetOracleValue(5)
        Dim sst = odr.GetOracleValue(6)
        dtb.Rows.Add(ic, itn, de, ca, pr, st, sst)
    End While
    con.Close()

End Sub
EN

回答 1

Stack Overflow用户

发布于 2017-02-21 03:12:26

像这样测试。

代码语言:javascript
运行
复制
Sub total()
    Dim sum As Decimal = 0
    For x = 0 To DataGridView1.Rows.Count - 1
        If Not isDBNull(DataGridView1.Rows(x).Cells(7).Value) then sum =sum +  DataGridView1.Rows(x).Cells(7).Value
    Next
    TextBox2.Text = sum
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42352132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档