索引超出范围0位置没有行 [英] Index out of range no row at position 0
本文介绍了索引超出范围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屋!
查看全文