我在VB.net应用程序中开发了一个单词导出功能,该功能可以返回在列(service_name)中具有特定值的所有行。但是,在遍历该功能时,字中的单元格始终会抢占第一个服务名称,而不是循环遍历每个服务名称。我需要一种方法,可以指向特定service_name的下一个值。
我已经了解了要从中获取值的表的预览,并给出了单词export的信息,知道有3行与该值匹配,但总是返回第一个行。
用于返回SQL数据的函数:
Function getdataapplication(ByVal recordnum As Integer, ByVal fieldnum As Integer)
ds.Reset()
GC.Collect()
Dim dbtable
dbtable = "application_portfolio"
Dim sql As MySqlCommand
sql = New MySqlCommand("Select * from application_portfolio where service_name = '" & Wordexport.tbservicename.Text & "' ", dbcon)
Dim DataAdapter1 As MySqlDataAdapter = New MySqlDataAdapter()
DataAdapter1.SelectCommand = sql
DataAdapter1.Fill(ds, dbtable)
dbcon.Close()
sql.Dispose()
Return ds.Tables(dbtable).rows(recordnum).Item(fieldnum - 1)
'Return reader
End Function
Public Sub Word_Click(sender As Object, e As EventArgs) Handles Word.Click
Dim sqlrowcount As Integer
sqlrowcount = CountRecords()
tbcount.Text = sqlrowcount
If application_portfolio.Checked = True Then
'oWord.NewDocument.Application.Equals(Nothing)
Dim oPara2application As Word.Paragraph
Dim oTableapplication As Word.Table
For i As Integer = 1 To sqlrowcount
j = j + 1
oTableapplication = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, j, 7)
oTableapplication.Range.ParagraphFormat.SpaceAfter = 6
oTableapplication.Rows(1).Range.Font.Bold = True
oTableapplication.Cell(1, 1).Range.Text = "ID"
oTableapplication.Cell(1, 2).Range.Text = "Service Name"
oTableapplication.Cell(1, 3).Range.Text = "Application Name"
oTableapplication.Cell(1, 4).Range.Text = "Application Type"
oTableapplication.Cell(1, 5).Range.Text = "Cost"
oTableapplication.Cell(1, 6).Range.Text = "Year Released"
oTableapplication.Cell(1, 7).Range.Text = "Version"
Dim tempdatastore = getdataapplication(0, 1)
ListBox1.Items.Add(tempdatastore)
oTableapplication.Cell(j, 1).Range.Text = functions.getdataapplication(0, 1)
oTableapplication.Cell(j, 2).Range.Text = functions.getdataapplication(0, 2)
oTableapplication.Cell(j, 3).Range.Text = functions.getdataapplication(0, 3)
oTableapplication.Cell(j, 4).Range.Text = functions.getdataapplication(0, 4)
oTableapplication.Cell(j, 5).Range.Text = functions.getdataapplication(0, 5)
oTableapplication.Cell(j, 6).Range.Text = functions.getdataapplication(0, 6)
oTableapplication.Cell(j, 7).Range.Text = functions.getdataapplication(0, 7)
oTableapplication.Rows.Item(1).Range.Font.Italic = True
Next
End If
End function
找到了您的错误的问题。您继续在函数getdataapplication中搜索第0行
oTableapplication.Cell(j, 1).Range.Text = functions.getdataapplication(0, 1)
oTableapplication.Cell(j, 2).Range.Text = functions.getdataapplication(0, 2)
oTableapplication.Cell(j, 3).Range.Text = functions.getdataapplication(0, 3)
oTableapplication.Cell(j, 4).Range.Text = functions.getdataapplication(0, 4)
oTableapplication.Cell(j, 5).Range.Text = functions.getdataapplication(0, 5)
oTableapplication.Cell(j, 6).Range.Text = functions.getdataapplication(0, 6)
oTableapplication.Cell(j, 7).Range.Text = functions.getdataapplication(0, 7)
您需要做的如下
oTableapplication.Cell(j, 1).Range.Text = functions.getdataapplication(i, 1)
oTableapplication.Cell(j, 2).Range.Text = functions.getdataapplication(i, 2)
oTableapplication.Cell(j, 3).Range.Text = functions.getdataapplication(i, 3)
oTableapplication.Cell(j, 4).Range.Text = functions.getdataapplication(i, 4)
oTableapplication.Cell(j, 5).Range.Text = functions.getdataapplication(i, 5)
oTableapplication.Cell(j, 6).Range.Text = functions.getdataapplication(i, 6)
oTableapplication.Cell(j, 7).Range.Text = functions.getdataapplication(i, 7)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句