我正在使用C#在Visual Studio 2017中开发一个项目,该项目显示并保存测试结果,尽管我创建了一个试用解决方案文件来简化表格。
我创建了一个基于服务的数据库dtbTrial
并创建了以下表格:
tblTestMain
:
CREATE TABLE [dbo].[tblTestMain]
(
[TestNumber] NUMERIC(8) NOT NULL PRIMARY KEY,
[TestDate] DATE NOT NULL,
[AmbientTemp] INT NOT NULL,
[Test1] BIT NOT NULL,
[Test2] BIT NOT NULL,
[Test3] BIT NOT NULL
)
代表tblTest1
(也与tblTest2
和tblTest3
类似):
CREATE TABLE [dbo].[tblTest1]
(
[TestNumber] NUMERIC(8) NOT NULL PRIMARY KEY,
[ParameterA] REAL NULL,
[ParameterB] REAL NULL,
CONSTRAINT [FK_tblTest1_tblTestMain] FOREIGN KEY ([TestNumber]) REFERENCES [tblTestMain]([TestNumber])
)
主表位于Form1
,其他三个位于Form2
,Form3
和Form4
。主窗体有一个TabControl,包含这三种形式和函数,如my previous question。
现在,我要做的是,三个子表单或子表单中包含的数据与父表单一起导航,以便当Form1
从测试号10000000导航到10000001时,其他三个表单打开时跟风。我尝试将此查询用于dtbTrialDataSet
:
SELECT tblTestMain.TestNumber, tblTestMain.TestDate, tblTestMain.AmbientTemp, tblTestMain.Test1, tblTestMain.Test2, tblTestMain.Test3, tblTest1.ParameterA, tblTest1.ParameterB, tblTest2.ParameterC, tblTest2.ParameterD,
tblTest3.ParameterE, tblTest3.ParameterF
FROM tblTestMain LEFT OUTER JOIN
tblTest1 ON tblTestMain.TestNumber = tblTest1.TestNumber LEFT OUTER JOIN
tblTest2 ON tblTestMain.TestNumber = tblTest2.TestNumber LEFT OUTER JOIN
tblTest3 ON tblTestMain.TestNumber = tblTest3.TestNumber
并将结果数据集用于上述表格但无济于事。我错过了什么或者我该怎么做才能纠正它?
PS我还没有对主表单 做任何相关的代码,因为我不知道我需要哪些命令。
答案 0 :(得分:0)
除非您明确告诉他们,否则您的子表单对主表单中发生的事情一无所知。有几种方法可以做到这一点: