⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookindlg.cpp

📁 连接SQL Server的图书管理系统
💻 CPP
字号:
// BookInDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MyLibrary.h"
#include "BookRS.h"
#include "BookInDlg.h"
#include <fstream>
using namespace std;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBookInDlg dialog


CBookInDlg::CBookInDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBookInDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBookInDlg)
	m_author = _T("");
	m_category = _T("");
	m_amount = 0;
	m_name = _T("");
	m_bookNum = _T("");
	m_press = _T("");
	m_price = 0.0f;
	m_pressDate = _T("");
	//}}AFX_DATA_INIT
}


void CBookInDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBookInDlg)
	DDX_Text(pDX, IDC_AUTHOR, m_author);
	DDX_Text(pDX, IDC_CATEGORY, m_category);
	DDX_Text(pDX, IDC_AMOUNT, m_amount);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_NUM, m_bookNum);
	DDX_Text(pDX, IDC_PRESS, m_press);
	DDX_Text(pDX, IDC_PRICE, m_price);
	DDX_Text(pDX, IDC_PRESSDATE, m_pressDate);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBookInDlg, CDialog)
	//{{AFX_MSG_MAP(CBookInDlg)
	ON_BN_CLICKED(IDC_MULT_IN, OnMultIn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBookInDlg message handlers

void CBookInDlg::OnOK() 
{ 
	UpdateData();
	COleVariant vtime(m_pressDate); 
	vtime.ChangeType(VT_DATE); 
	COleDateTime time4=vtime;
	SYSTEMTIME systime; 
	VariantTimeToSystemTime(time4, &systime);
	CTime tm(systime);
	
	
	// TODO: Add extra validation here
	
    if(!m_bookSet.IsOpen())
		m_bookSet.Open();

	m_bookSet.AddNew();
	m_bookSet.m_title=m_name;
	m_bookSet.m_author=m_author;
	m_bookSet.m_category=m_category;
	m_bookSet.m_ISBN=m_bookNum;
	m_bookSet.m_press=m_press;
	m_bookSet.m_press_date=tm;
	m_bookSet.m_total_num=m_amount;
	m_bookSet.m_present_num=m_amount;
	m_bookSet.m_price=m_price;
	m_bookSet.Update();
	AfxMessageBox("图书成功导入");

	CDialog::OnOK();
}

void CBookInDlg::OnMultIn() 
{
	// TODO: Add your control notification handler code here
	CFileDialog Dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"文本文件(*.TXT)|*.TXT||");
	if( Dlg.DoModal() == IDOK  ) // 装置文本
	{

		CString pos[50][9];
		int col=0,row=0;
		CString strFileName=Dlg.GetFileName();
		char byBuffer;
			CFile MyFile(strFileName, CFile::modeRead);
			while(MyFile.Read(&byBuffer,1)==1)
			{
				if(byBuffer=='\n')
				{	
					row++;
					col=0;
				}
			
				pos[row][col]+=byBuffer;
				
			
				if(byBuffer==/*0x20*/'\t')
				{
				//	pos[row][col].Delete(pos[row][col].GetLength()-1, 1); 
					pos[row][col].Replace(" ", "" );
					pos[row][col].Replace("\n", "" );
					pos[row][col].Replace("\t", "" );
					pos[row][col].Replace("\r", "" );

					col++;
				}
					if(col>8)
					break;
			}
			if(byBuffer!=0X0A)
				row++;
			MyFile.Close();
					
		
		
						
			for(int i=0;i<row;i++)
			{
					
				if(!m_bookSet.IsOpen())
						m_bookSet.Open();
					m_bookSet.AddNew();
					
					m_bookSet.m_ISBN=pos[i][0];   //ISBN
					
					m_bookSet.m_category=pos[i][1]; //目录
					
					m_bookSet.m_title=pos[i][2];		//标题	
					
					m_bookSet.m_press=pos[i][3];   //出版社
		
					int year=atoi(pos[i][4].Left(4)); //  CTime型的出版日期
					int month=atoi(pos[i][4].Mid(5,2)); 
					int day=atoi(pos[i][4].Right(2)); 
					CTime t(year,month,day,0,0,0); 
					m_bookSet.m_press_date=t;
		
					m_bookSet.m_author=pos[i][5];  //作者
			
					float   price; 
					price=atof(pos[i][6]);
					m_bookSet.m_price=price;
		
					long   totalNum; 
					totalNum=atol(pos[i][7]);
					m_bookSet.m_total_num=totalNum;
		
					long   presentNum; 
					presentNum=atol(pos[i][8]);
					m_bookSet.m_present_num=presentNum;
					
					m_bookSet.Update();
		
					
				}
				
			CString tmp;
					tmp.Format("已批量导入%d本图书", row);
				AfxMessageBox(tmp);
				CDialog::OnOK();

	}	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -