索引超出范围0位置没有行 [英] Index out of range no row at position 0

查看:205
本文介绍了索引超出范围0位置没有行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 私有  Sub  LoadSession()

Dim cmd1 作为 OleDbCommand( 从mstSession中选择SessionID,SessionName,其中ActiveState ='是',,sqlcon)
< span class =code-keyword> Dim dtSession As DataTable
Dim adp1 As OledbDataAdapter(cmd1)
adp1.Fill(dtSession)
Dim drow As DataRow = dtSession.NewRow ()
drow( 0 )= 0
drow( 1 )= 选择会话
dtSession.Rows.InsertAt(drow, 0
cmbSession.DataSource = dtSession
cmbSession.DisplayMember = SessionName
cmbSession.ValueMember = SessionID
dtSession = DataTable
dtSession = objdataacess.FillDataTable_Query( select isnull((max(ReceiptNo)+1),1)from txnFeePayment
txtReceiptNo.Text = dtSession.Rows( 0 )( 0
dtp.Text = Now()
cmd1.Dispose()

结束 Sub

解决方案

 私有  Sub  ID() 
Dim r0 作为 字符串 = 100
Dim insert_constr As String = cnSettings()
Dim insert_cmdstr 作为 字符串 = 从txnFeePayment中选择[ReceiptNo]
Dim insert_con 作为 OleDbConnection(insert_constr)
Dim insert_com 作为 OleDbCommand(insert_cmdstr,insert_con)
insert_con.Open()
Dim insert_DR As OleDbDataReader = insert_com.ExecuteReader
while insert_DR.Read
r0 = insert_DR( 0
结束 while
insert_con.Close()
txtReceiptNo.Text = r0 + 1
结束 Sub







使用此代码可以避免在表单的load事件中出现该错误。 ...


Private Sub LoadSession()

        Dim cmd1 As New OleDbCommand("Select SessionID,SessionName from mstSession where ActiveState='Yes' ", sqlcon)
        Dim dtSession As New DataTable
        Dim adp1 As New OledbDataAdapter(cmd1)
        adp1.Fill(dtSession)
        Dim drow As DataRow = dtSession.NewRow()
        drow(0) = 0
        drow(1) = "Select Session"
        dtSession.Rows.InsertAt(drow, 0)
        cmbSession.DataSource = dtSession
        cmbSession.DisplayMember = "SessionName"
        cmbSession.ValueMember = "SessionID"
        dtSession = New DataTable
        dtSession = objdataacess.FillDataTable_Query("select isnull((max(ReceiptNo)+1),1)from txnFeePayment")
        txtReceiptNo.Text = dtSession.Rows(0)(0)
        dtp.Text = Now()
        cmd1.Dispose()

    End Sub

解决方案

Private Sub ID()
        Dim r0 As String = "100"
        Dim insert_constr As String = cnSettings()
        Dim insert_cmdstr As String = "select [ReceiptNo] from txnFeePayment"
        Dim insert_con As New OleDbConnection(insert_constr)
        Dim insert_com As New OleDbCommand(insert_cmdstr, insert_con)
        insert_con.Open()
        Dim insert_DR As OleDbDataReader = insert_com.ExecuteReader
        While insert_DR.Read
            r0 = insert_DR(0)
        End While
        insert_con.Close()
        txtReceiptNo.Text = r0 + 1
    End Sub




Used this code to avoid that error at load event of form . ...


这篇关于索引超出范围0位置没有行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆