📄 addsubjectdlg.cpp
字号:
// AddSubjectDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ExmOnline.h"
#include "AddSubjectDlg.h"
#include "ADOConn.h"
#include "ExmOnlineDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAddSubjectDlg dialog
CAddSubjectDlg::CAddSubjectDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAddSubjectDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAddSubjectDlg)
m_strDbName = _T("");
m_iSubjctID = 0;
m_strSubjctName = _T("");
//}}AFX_DATA_INIT
}
void CAddSubjectDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAddSubjectDlg)
DDX_Text(pDX, IDC_EDIT_DBNAME, m_strDbName);
DDX_Text(pDX, IDC_EDIT_SUBJCTID, m_iSubjctID);
DDX_Text(pDX, IDC_EDIT_SUBJCTNAME, m_strSubjctName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAddSubjectDlg, CDialog)
//{{AFX_MSG_MAP(CAddSubjectDlg)
ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAddSubjectDlg message handlers
void CAddSubjectDlg::OnButtonOk()
{
// TODO: Add your control notification handler code here
UpdateData();
CString selbasename="sel"+m_strDbName;
CString blkbasename="blk"+m_strDbName;
CString jdgbasename="judge"+m_strDbName;
CString resultbasename="result"+m_strDbName;
CString scorebasename="score"+m_strDbName;
ADOConn Adoconn;
Adoconn.OnInitADOConn();
CString sql;
sql.Format("select * from titleamount where 科目ID=%d or 科目名称='%s' or 库名='%s'",
m_iSubjctID,m_strSubjctName,m_strDbName);
Adoconn.m_pRecordset=Adoconn.GetRecordSet((_bstr_t)sql);
if(Adoconn.m_pRecordset->adoEOF)
{
sql.Format("insert into titleamount values(%d,'%s','%s',%d,%d,%d,'%s','%s','%s','%s','%s',%d,%d)",
m_iSubjctID,m_strSubjctName,m_strDbName,0,0,0,selbasename,
blkbasename,jdgbasename,resultbasename,scorebasename,50,3600);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("insert into subject values(%d,'%s')",m_iSubjctID,m_strSubjctName);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("create table %s(试题ID int primary key clustered,题目 varchar(200) not null,选项1 varchar(200) not null,选项2 varchar(200) not null,选项3 varchar(200),选项4 varchar(200),答案 varchar(200) not null)",
selbasename);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("create table %s(试题ID int primary key clustered,题目 varchar(200) not null,答案 varchar(200) not null)",
blkbasename);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("create table %s(试题ID int primary key clustered,题目 varchar(200) not null,答案 varchar(10) not null)",
jdgbasename);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("create table %s(学号 int primary key clustered,姓名 varchar(20) not null,题型 int not null,题目ID int not null,题目 varchar(200) not null,标准答案 varchar(200) not null,学生答案 varchar(200) not null,是否正确 bit not null)",
resultbasename);
Adoconn.ExecuteSQL((_bstr_t)sql);
sql.Format("create table %s(学号 int primary key clustered,姓名 varchar(20) not null,答对数 int not null,总数 int not null,正确率 real not null)",
scorebasename);
Adoconn.ExecuteSQL((_bstr_t)sql);
}
else
AfxMessageBox("数据库中存在重名!请检查当前科目是否添加过,以及当前库名是否使用过!");
Adoconn.ExitConnect();
CDialog::OnOK();
}
BOOL CAddSubjectDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
GetDlgItem(IDC_EDIT_SUBJCTID)->SetWindowText("");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -