当前位置:编程学习 > C#/ASP.NET >>

vb.net---程序报错,在位置0处没有任何行 大虾帮帮忙

Public Function getOrder(ByVal orderid As String) As PreOrder
        Dim sqlstr As String
        Dim order As New PreOrder()
        sqlstr = "SELECT * FROM OrderInfo WHERE orderid='" & orderid & "'"
        Dim ds As New DataSet()
        ds.Clear()
        ds = GetDataFromDB(sqlstr)
        If Not ds Is Nothing Then
            order.id = ds.Tables(0).Rows(0)("orderid")
            order.rdate = ds.Tables(0).Rows(0)("requiredate")
            order.num = ds.Tables(0).Rows(0)("tbnum")
        End If
        Return order
    End Function



 order.id = ds.Tables(0).Rows(0)("orderid")   在位置0处没有任何行(排错提示 :确保列表中的最大索引小于列表的大小 确保数据列名称正确 确保索引不是负数 获取此异常的常规帮助) --------------------编程问答-------------------- 没有返回记录。
  If Not ds Is Nothing Then
  order.id = ds.Tables(0).Rows(0)("orderid")
  order.rdate = ds.Tables(0).Rows(0)("requiredate")
  order.num = ds.Tables(0).Rows(0)("tbnum")
  End If
=〉
 If Not ds Is Nothing Then
  If ds.Tables(0).Rows.Count > 0 Then
  order.id = ds.Tables(0).Rows(0)("orderid")
  order.rdate = ds.Tables(0).Rows(0)("requiredate")
  order.num = ds.Tables(0).Rows(0)("tbnum")
  End If
End If --------------------编程问答-------------------- 出现新的错误了 

Public Function ShowData(ByVal index As Integer)
        If index >= 0 Then
            Dim order As New PreOrder()
            order = getOrder(Trim(Me.ListBox1.SelectedItem))
            Me.TextBox1.Text = order.id
            Me.DateTimePicker1.Value = order.rdate
            Me.TextBox2.Text = order.num
        End If
    End Function

Me.DateTimePicker1.Value = order.rdat   
“0001-1-1 00:00:00”的值对于“Value”无效。“Value”应介于 'MinDate' 和 'MaxDate' 之间。参数名: Value
--------------------编程问答-------------------- 程序是不是你写的啊。。。 --------------------编程问答-------------------- 当然不是了.... --------------------编程问答--------------------
引用 4 楼 ljzljzljz1111 的回复:
当然不是了....

那你问写程序的那个人。。。 --------------------编程问答-------------------- 帮个忙吧!那人失踪了~呵呵 --------------------编程问答--------------------
引用 2 楼 ljzljzljz1111 的回复:
出现新的错误了 

Public Function ShowData(ByVal index As Integer)
        If index >= 0 Then
            Dim order As New PreOrder()
            order = getOrder(Trim(Me.ListBox1.SelectedItem))
      ……


这应该是你设置了DateTimePicker的MaxDate属性和MinDate属性。。。。

控制了DateTimePicker的时间范围 。。。而你的order.rdat确不在这个范围内

所以报这个错。。。 --------------------编程问答--------------------
引用 6 楼 ljzljzljz1111 的回复:
帮个忙吧!那人失踪了~呵呵


以这个错漏百出的程序,和你的水平,果断放弃为好。

如同一个根本不懂汽车原理的人一上来就面对一辆已经报废的车,无法修理的。它不是电瓶没有电,充电下就好了,或者水箱没有水了那么简单。而是发动机也坏了,变速箱也坏了,悬挂也不好使的状态。 --------------------编程问答--------------------
引用 7 楼 porschev 的回复:
引用 2 楼 ljzljzljz1111 的回复:

出现新的错误了

Public Function ShowData(ByVal index As Integer)
If index >= 0 Then
Dim order As New PreOrder()
order = getOrder(Trim(Me.ListBox1.SelectedItem))
……


这应该……
设置了啊~没有超出范围!可是还是现实的这个错误 --------------------编程问答-------------------- 可是我没时间了啊!要不就真换了~唉~~ --------------------编程问答--------------------
引用 2 楼 ljzljzljz1111 的回复:
出现新的错误了 

Public Function ShowData(ByVal index As Integer)
  If index >= 0 Then
  Dim order As New PreOrder()
  order = getOrder(Trim(Me.ListBox1.SelectedItem))
  Me.TextBox1.Text = order.id
  ……


很明显 错误提示已经告诉你了 “0001-1-1 00:00:00”的值对于“Value”无效 查下数据库里的时间是不是这个..如果是的话就没办法了 貌似最小日期支持到1700年吧 另外 这段程序写得太垃圾了点 建议重写吧 --------------------编程问答-------------------- 跟踪下order.rdate,看下是不是类型不符、值超出范围或是无效的日期格式 --------------------编程问答--------------------
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,