具有两个外键的单个表是否也可以被视为该表的主键(合在一起)?我正在添加我正在阅读的《计算机科学邀请》第 6 版InsurancePolicies
教科书中的屏幕截图,其中显示了具有两个外键的表,但我的问题是,这两个外键是否也被视为该表的主键?教科书中的作者没有明确说明这一点。
我认为答案是肯定的,但我不确定,而且我找不到具体的答案,所以希望有人能提供一个易于理解的答案。
这是我在这里能找到的最接近的答案,所以我的第二个问题是,默认情况下这两个外键是否也被视为主键?
我能够CEdit
使用函数中下面显示的代码在控件内显示几个字符OnInitDialog()
,但我无法在函数主体内突出显示相同的文本OnInitDialog()
。我只是不知道该怎么做。在我的CReplaceCharacterDlg
课程中,我使用向导添加了一个CEdit ReplaceCharsCtrl
变量,并使用资源编辑器创建了CEdit
控件。我尝试在函数中执行以下行OnInitDialog()
,如下所示,但出现调试断言失败错误。有人可以给我提示一下可以这样做吗?
// CReplaceCharacter dialog
class CReplaceCharacterDlg : public CDialogEx
{
DECLARE_DYNAMIC(CReplaceCharacterDlg)
public:
CReplaceCharacterDlg(CWnd* pParent = nullptr); // standard constructor
CReplaceCharacterDlg(CWnd* pPar, CStringW replaceStrW);
virtual ~CReplaceCharacterDlg();
// Dialog Data
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_REPLACE_CHAR };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
public:
CEdit ReplaceCharsCtrl;
CStringW ReplacementCharacterStr;
afx_msg void OnBnClickedOk();
};
// Implementation
BOOL CReplaceCharacterDlg::OnInitDialog()
{
GetDlgItem(IDC_EDIT1)->SetWindowTextW(ReplacementCharacterStr);
ReplaceCharsCtrl.SetHighlight(0, 2); <---- GIVES ASSERT ERROR ReplaceCharsCtrl hWnd = NULL
return TRUE;
}
请参阅帖子正文。