【发布时间】:2011-04-06 04:14:06
【问题描述】:
我正在使用 vb.net,我需要从两个不同的表中获取数据并以报告的形式显示。 这些是我的两个表的架构和数据:
CREATE TABLE personal_details (staff_ID integer PRIMARY KEY, title varchar(10), fn varchar(250), ln varchar(250), mn varchar(250), dob varchar(50), hometown varchar(250), securityno varchar(50), phone varchar(15), phone2 varchar(15), phone3 varchar(15), email varchar(250), address varchar(300), confirmation varchar(50), retirement varchar(50), designation varchar(250), region varchar(250));
INSERT INTO personal_details VALUES(1,'Mr.','Selom','AMOUZOU','Kokou','Sunday, March 28, 2010','Ho',7736,'024-747-4883','277-383-8383','027-838-3837','shellom2005@yahoo.fr','Lapaz Kum Hotel','Sunday, March 28, 2010','Sunday, March 28, 2010','Designeur','Brong Ahafo');
CREATE TABLE training(
training_ID integer primary key NOT NULL,
staff_ID varchar(100),
training_level varchar (60),
school_name varchar(100),
start_date varchar(100), end_date varchar(100));
INSERT INTO training VALUES(1,1,'Primary School','New School','Feb 1955','May 1973');
INSERT INTO training VALUES(2,1,'Middle/JSS','Ipmc','Feb 1955','May 1973');
我正在尝试通过以下方式从上面的表格中获取和显示数据:
Dim rpt As New CrystalReport1()
Dim da As New SQLiteDataAdapter
Dim ds As New presbydbDataSet
ds.EnforceConstraints = False
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim cmd As New SQLiteCommand("SELECT p.fn, t.training_level FROM personal_details p INNER JOIN training t ON p.staff_ID = t.staff_ID", conn)
cmd.ExecuteNonQuery()
da.SelectCommand = cmd
da.Fill(ds)
rpt.SetDataSource(ds)
CrystalReportViewer1.ReportSource = rpt
conn.Close()
我的问题是,除非我从报告中删除培训字段或personal_details 字段,否则报告上不会显示任何内容。需要你的帮助。谢谢
【问题讨论】: