วันอาทิตย์ที่ 20 ตุลาคม พ.ศ. 2556

Operator '>=' incompatible with operand types 'Int32?' and 'String'

เมื่อผมเขียนโค้ดแบบนี้


Function findData(Hour As Int32)
        Dim sql As New StringBuilder
        sql.Append("DiffDate >= @DiffDate")

        LinqDataSource1.WhereParameters.Clear()
        LinqDataSource1.Where = sql.ToString

        LinqDataSource1.WhereParameters.Add("DiffDate", Hour)
        LinqDataSource1.DataBind()
End Function

กรรมเก่าก็บันดาลให้พบกับ ข้อผิดพลาดแบบนี้
Operator '>=' incompatible with operand types 'Int32?' and 'String'


ดูสิว่าจะจัดการกับมันได้หรือเปล่า ?
.
.
.
ในที่สุดโค้ดแบบผู้บ่าวไทบ้านก็ได้ผล

แบบที่  1 ระบุ DbType.UInt32

Function findData(Hour As Int32)
        Dim sql As New StringBuilder
        sql.Append("DiffDate >= @DiffDate")

        LinqDataSource1.WhereParameters.Clear()
        LinqDataSource1.Where = sql.ToString

        LinqDataSource1.WhereParameters.Add("DiffDate", DbType.UInt32, CStr(Hour))
        LinqDataSource1.DataBind()
End Function

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

การใช้ WebClient สำหรับเรียก URL

Dim _url As String = " https :// www . MyDomain . com /?q=ทดสอบ " Dim wc As New System . Net . WebClient () wc . Encodin...