Vb.net 将此ADODB crystal报告转换为OLEDB
我不知道如何将ADODB转换成OLEDB。 我的数据表、记录集和记录计数有问题。 我真的不知道如何把它转换成OLEDB ADODB模块Vb.net 将此ADODB crystal报告转换为OLEDB,vb.net,ms-access,crystal-reports,oledb,adodb,Vb.net,Ms Access,Crystal Reports,Oledb,Adodb,我不知道如何将ADODB转换成OLEDB。 我的数据表、记录集和记录计数有问题。 我真的不知道如何把它转换成OLEDB ADODB模块 Public con As New ADODB.Connection Public rec As New ADODB.Recordset Public flag As New Integer Public temp As New Integer Public Sub connect() Dim path As String path = App
Public con As New ADODB.Connection
Public rec As New ADODB.Recordset
Public flag As New Integer
Public temp As New Integer
Public Sub connect()
Dim path As String
path = Application.StartupPath & "\dbPSITSms.mdb"
con.Open("provider=microsoft.jet.OLEDB.4.0;data source = " & path)
End Sub
ADODB CrystalReportViewer1表单
Private Sub CrystalReport_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Dim dt As New DataTable
dt.Columns.Add("psitscode")
dt.Columns.Add("studnum")
dt.Columns.Add("sy")
dt.Columns.Add("total")
connect()
rec.Open("SELECT * FROM tableTransaction", con, 3, 3)
If rec.RecordCount <> 0 Then
Do Until rec.EOF
dt.Rows.Add(rec("psitscode").Value, rec("studnum").Value, rec("sy").Value, rec("total").Value)
rec.MoveNext()
Loop
End If
rec.Close()
con.Close()
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New CrystalReport1
rptDoc.SetDataSource(dt)
Me.CrystalReportViewer.ReportSource = rptDoc
Me.CrystalReportViewer.Refresh()
End Sub
请帮助我。这将是ADODB代码的逐行转换(我忽略了您的OLEDB内容,我使用您的代码创建DataTable并设置报告,但插入OLEDB语法,以与ADODB相同的模式填充它) “使用”语句确保物品在使用后得到清理和处置
Dim dt As New DataTable
dt.Columns.Add("psitscode")
dt.Columns.Add("studnum")
dt.Columns.Add("sy")
dt.Columns.Add("total")
Using conn As New OleDbConnection("Your OleDb Connection String")
conn.Open()
Using cmd As OleDbCommand = conn.CreateCommand
cmd.CommandText = "SELECT * FROM tableTransaction"
Using dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
dt.Rows.Add(dr("psitscode"), dr("studnum"), dr("sy"), dr("total").Value)
End While
dr.Close()
End Using
End Using
conn.Close()
End Using
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New CrystalReport1
rptDoc.SetDataSource(dt)
Me.CrystalReportViewer.ReportSource = rptDoc
Me.CrystalReportViewer.Refresh()
你说,你有问题,但你没有说你有什么问题。到目前为止,您的问题属于“为什么此代码不工作”这一主题之外的问题。对我来说,看起来不错。我看不出有什么问题。你需要解释一下你在哪里遇到了什么问题对不起,先生,我指的是关于ADODB.recordset的问题。我的朋友,假设你没有写这个问题。继续读吧,如果你看到了,告诉我问题在哪里?“我有问题”不是问题。这是毫无疑问的。也许这就是没人回答的原因…啊,那怎么办。如何将ADODB转换为OLEDB?太广泛和基于观点-这是我能说的全部谢谢先生。我真的很感谢你的帮助。谢谢
Dim dt As New DataTable
dt.Columns.Add("psitscode")
dt.Columns.Add("studnum")
dt.Columns.Add("sy")
dt.Columns.Add("total")
Using conn As New OleDbConnection("Your OleDb Connection String")
conn.Open()
Using cmd As OleDbCommand = conn.CreateCommand
cmd.CommandText = "SELECT * FROM tableTransaction"
Using dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
dt.Rows.Add(dr("psitscode"), dr("studnum"), dr("sy"), dr("total").Value)
End While
dr.Close()
End Using
End Using
conn.Close()
End Using
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New CrystalReport1
rptDoc.SetDataSource(dt)
Me.CrystalReportViewer.ReportSource = rptDoc
Me.CrystalReportViewer.Refresh()