【发布时间】:2023-03-23 03:00:01
【问题描述】:
我正在使用 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 我还没有为主窗体编写任何相关代码还,因为我不知道我需要哪些命令。
【问题讨论】:
-
只是为了确保我理解,您检索主表单中的所有数据,然后一旦检索到您将相关数据发送到子表单? “一事无成”是什么意思?发生了什么或没有发生什么,您收到了什么错误(如果有)?
-
@squillman 当我在主表单中导航时,主表单显示下一个或上一个数据,但其他三个表单仍保留测试编号 10000000。我无法理解检索部分,但我所做的是
tblTestMain中的列显示在Form1中。