亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datadlg.cpp

?? 利用OLEDB以數據庫的方式打開Excell文件
?? CPP
字號:
// datadlg.cpp : implementation file
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include "stdafx.h"
#include "DBManager.h"
#include "datadlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDataDialog dialog


CDataDialog::CDataDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CDataDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDataDialog)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT

	m_prs = NULL;
}


void CDataDialog::SetRecordset(CDynamicBulkSet* prs)
{
	ASSERT(prs != NULL);

	m_prs = prs;
}

int CDataDialog::DoModal()
{
	ASSERT(m_prs != NULL);

	return CDialog::DoModal();
}

BOOL CDataDialog::OnInitDialog()
{
	BOOL bReturn = CDialog::OnInitDialog();

	AddColumns();
	FillData();

	return bReturn;
}

void CDataDialog::AddColumns()
{
	ASSERT(m_prs->IsOpen());

	// declare a CODBCFieldInfo structure and get a count
	// of the number of columns in the database
	CODBCFieldInfo info;
	int nColumns = m_prs->GetODBCFieldCount();

	// for each column, retrieve the field name and
	// insert the field name in the header
	for (int nNum = 0; nNum < nColumns; nNum++)
	{
		m_prs->GetODBCFieldInfo(nNum, info);
		if (m_listData.InsertColumn(nNum, info.m_strName,
			LVCFMT_LEFT, 80) != nNum)
		{
			ASSERT(FALSE);
			return;
		}
	}
}

void CDataDialog::FillData()
{
	ASSERT(m_prs->IsOpen());

	// Make sure there are no items
	m_listData.DeleteAllItems();

	// Validate that there is data
	if (m_prs->IsEOF() && m_prs->IsBOF())
	{
		// Disable all the controls
		GetDlgItem(IDC_FIRST)->EnableWindow(FALSE);
		GetDlgItem(IDC_LAST)->EnableWindow(FALSE);
		GetDlgItem(IDC_NEXT)->EnableWindow(FALSE);
		GetDlgItem(IDC_PREV)->EnableWindow(FALSE);

		// Put up a warning dialog and return
		AfxMessageBox("此表沒有數據");
		return;
	}
	else
	{
		// Enable all the controls
		GetDlgItem(IDC_FIRST)->EnableWindow(TRUE);
		GetDlgItem(IDC_LAST)->EnableWindow(TRUE);
		GetDlgItem(IDC_NEXT)->EnableWindow(TRUE);
		GetDlgItem(IDC_PREV)->EnableWindow(TRUE);
	}


	long* rgLength;
	LPSTR rgData;

	// Need to use this to convert LPSTR to UNICODE
	CString strData;

	int nFields = m_prs->GetODBCFieldCount();
	int nRowsFetched = m_prs->GetRowsFetched();

	// Display 1 rowset of data by field
	for (int nField = 0; nField < nFields; nField++)
	{
		// set up the correct data and length arrays
		rgData = (LPSTR)m_prs->m_ppvData[nField];
		rgLength = (long*)m_prs->m_ppvLengths[nField];

		for (int nRow = 0; nRow < nRowsFetched; nRow++)
		{
			int nStatus = m_prs->GetRowStatus(nRow + 1);

			// Get the string to display
			if (nStatus == SQL_ROW_DELETED)
				strData = _T("<DELETED>");
			else if (nStatus == SQL_ROW_NOROW)
				// Shouldn't get this since rows fetched is checked
				strData = _T("<NO_ROW>");
			else if (rgLength[nRow] == SQL_NULL_DATA)
				strData = _T("<NULL>");
			else
				strData = &rgData[nRow * MAX_TEXT_LEN];

			// Set the string (if first column must add)
			if (nField == 0)
				m_listData.InsertItem(nRow, strData);
			else
			{
				m_listData.SetItem(nRow, nField, LVIF_TEXT,
					strData, -1, 0, 0, 0);
			}
		}
	}
}

void CDataDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDataDialog)
	DDX_Control(pDX, IDC_DATALIST, m_listData);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDataDialog, CDialog)
	//{{AFX_MSG_MAP(CDataDialog)
	ON_BN_CLICKED(IDC_FIRST, OnFirst)
	ON_BN_CLICKED(IDC_LAST, OnLast)
	ON_BN_CLICKED(IDC_NEXT, OnNext)
	ON_BN_CLICKED(IDC_PREV, OnPrev)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDataDialog message handlers

void CDataDialog::OnFirst()
{
	ASSERT(m_prs->IsOpen());

	m_prs->MoveFirst();

	FillData();

	// Disable the correct controls
	GetDlgItem(IDC_PREV)->EnableWindow(FALSE);
}

void CDataDialog::OnLast()
{
	ASSERT(m_prs->IsOpen());

	m_prs->MoveLast();
	FillData();

	// Disable the correct controls
	GetDlgItem(IDC_NEXT)->EnableWindow(FALSE);
}

void CDataDialog::OnNext()
{
	ASSERT(m_prs->IsOpen());

	m_prs->MoveNext();

	if (m_prs->IsEOF())
	{
		// Disable the correct controls
		GetDlgItem(IDC_NEXT)->EnableWindow(FALSE);

		AfxMessageBox("已到數據結尾");
	}
	else
		FillData();
}

void CDataDialog::OnPrev()
{
	ASSERT(m_prs->IsOpen());

	m_prs->MovePrev();

	if (m_prs->IsBOF())
	{
		// Disable the correct controls
		GetDlgItem(IDC_PREV)->EnableWindow(FALSE);

		AfxMessageBox("已到數據結尾");
	}
	else
		FillData();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区在线| 国产欧美视频一区二区| 欧美一级在线观看| 中文字幕日韩精品一区| 日韩精品视频网| 成人av网站在线| 日韩一级高清毛片| 一区二区不卡在线播放| 国产精品99久久久| 91精品在线观看入口| 国产精品国产馆在线真实露脸| 日本特黄久久久高潮| 欧美在线一二三| 亚洲男人电影天堂| eeuss鲁片一区二区三区在线看| 精品三级在线观看| 裸体歌舞表演一区二区| 欧美色倩网站大全免费| 日韩理论片网站| 成人av综合在线| 国产亚洲欧美色| 国内成人免费视频| 欧美刺激脚交jootjob| 免费观看久久久4p| 91精品国产日韩91久久久久久| 一区二区三区四区不卡在线| 成人18视频日本| 中文字幕av在线一区二区三区| 国产老女人精品毛片久久| 精品免费日韩av| 精品一区二区三区在线播放 | 精品免费99久久| 五月天激情综合网| 欧美日精品一区视频| 亚洲国产欧美在线| 欧美自拍偷拍一区| 午夜精品福利久久久| 欧美日韩国产成人在线91| 亚洲综合免费观看高清完整版在线 | 五月天欧美精品| 欧美日韩精品一区二区三区蜜桃| 亚洲成人免费电影| 欧美日韩一区二区三区不卡| 日韩精品1区2区3区| 国产精品家庭影院| 波多野结衣在线aⅴ中文字幕不卡| 国产视频一区二区在线观看| 成人视屏免费看| 1024亚洲合集| 欧美浪妇xxxx高跟鞋交| 麻豆91精品视频| 国产色产综合色产在线视频| 92精品国产成人观看免费| 一个色综合网站| 欧美一区二区在线播放| 国产精品77777竹菊影视小说| 国产精品每日更新在线播放网址| 91在线观看一区二区| 亚洲小说欧美激情另类| 精品卡一卡二卡三卡四在线| 99视频一区二区| 日韩主播视频在线| 久久久午夜精品理论片中文字幕| 成人av网在线| 日韩精品一二三四| 国产精品沙发午睡系列990531| 色久综合一二码| 久久99国内精品| 亚洲六月丁香色婷婷综合久久 | 色爱区综合激月婷婷| 日韩国产精品91| 国产精品嫩草影院com| 欧美乱熟臀69xxxxxx| 东方aⅴ免费观看久久av| 亚洲午夜精品在线| 国产欧美日韩视频在线观看| 在线一区二区三区四区五区| 韩国理伦片一区二区三区在线播放| 中文字幕欧美一| 欧美成人vps| 在线观看成人免费视频| 丁香网亚洲国际| 日韩av网站免费在线| 亚洲天堂精品视频| 久久看人人爽人人| 日韩欧美123| 欧美性生活久久| eeuss鲁片一区二区三区在线看| 久久99精品视频| 午夜伊人狠狠久久| 亚洲欧美偷拍卡通变态| 国产亚洲精品aa| 日韩一级片网址| 精品视频在线免费| 日韩欧美一二区| 欧美色爱综合网| 91高清在线观看| av激情亚洲男人天堂| 国产精品亚洲午夜一区二区三区 | 国产精品免费人成网站| 777xxx欧美| 91美女在线看| 波多野结衣在线一区| 国产福利91精品一区| 久久国产生活片100| 视频一区二区三区入口| 一区二区三区在线免费观看| 一区在线播放视频| 国产人妖乱国产精品人妖| 精品久久久久久久久久久久久久久久久| 欧美日韩在线免费视频| 色综合欧美在线视频区| 99久免费精品视频在线观看| 国产成人精品免费视频网站| 国内精品写真在线观看| 久久精品国产精品亚洲精品 | 精彩视频一区二区| 蜜臀av国产精品久久久久| 天堂资源在线中文精品| 日韩电影一区二区三区| 日韩高清电影一区| 奇米精品一区二区三区在线观看 | 欧美电影免费观看高清完整版| 欧美日韩国产a| 91精品国产综合久久久蜜臀图片| 欧洲亚洲国产日韩| 欧美日韩午夜影院| 欧美一区二区私人影院日本| 日韩一区二区三区四区五区六区| 精品日本一线二线三线不卡| 久久久久亚洲蜜桃| 亚洲国产精品黑人久久久| 国产精品理伦片| 伊人夜夜躁av伊人久久| 亚洲国产色一区| 久久99国产精品久久| 国产91精品精华液一区二区三区| 97精品国产露脸对白| 欧洲av在线精品| 欧美大肚乱孕交hd孕妇| 久久精品欧美日韩| 一区二区三区中文字幕精品精品 | 精品一区二区三区欧美| 国产成人在线电影| 91看片淫黄大片一级| 在线播放亚洲一区| 久久麻豆一区二区| 亚洲男人的天堂在线aⅴ视频| 日韩国产精品久久| 成人免费电影视频| 欧美精选一区二区| 中文字幕精品在线不卡| 有码一区二区三区| 久久99热99| 91免费视频网| 日韩欧美不卡在线观看视频| 亚洲欧美另类久久久精品 | 国产高清不卡一区| 日本韩国欧美在线| 欧美精品一区视频| 亚洲已满18点击进入久久| 精品一区二区三区蜜桃| 91久久一区二区| 精品精品欲导航| 一区二区三区在线观看欧美| 国产一区二区美女诱惑| 欧美午夜精品久久久久久孕妇| 精品国产免费人成在线观看| 亚洲国产日韩av| 丁香六月综合激情| 亚洲精品在线免费观看视频| 亚洲欧美日韩成人高清在线一区| 久久精品国产在热久久| 91色九色蝌蚪| 国产午夜久久久久| 狂野欧美性猛交blacked| 91久久精品国产91性色tv| 国产欧美日韩精品一区| 免费三级欧美电影| 欧美日韩久久一区二区| 自拍偷拍欧美激情| 国产盗摄女厕一区二区三区| 日韩欧美中文一区二区| 亚洲午夜av在线| 一本色道久久综合亚洲精品按摩| 久久久不卡网国产精品二区 | 精品一区二区三区欧美| 91精品国产综合久久精品麻豆 | 精品一区二区久久| 777午夜精品免费视频| 亚洲欧洲综合另类在线| 99久久免费视频.com| 国产欧美视频一区二区三区| 国产精品456露脸| 国产亚洲成aⅴ人片在线观看| 九色porny丨国产精品| 精品三级在线看| 国精产品一区一区三区mba桃花| 欧美一三区三区四区免费在线看| 亚洲大尺度视频在线观看|