1. 程式人生 > >ADO助手V1.20釋出了---增加根據SQL生成MFC資料庫類的功能

ADO助手V1.20釋出了---增加根據SQL生成MFC資料庫類的功能

如何生成MFC資料庫類

1.在連線字串的下拉框中選擇需要連線的資料庫型別,並按自己的實際情況修改連線字串,如下圖

2.在資料庫的功能下拉框中選擇生成程式程式碼,並點選建立連線按鈕建立資料庫連線。

3.資料庫記錄或者SQL命令框中按業務需求輸入相應的SQL語句,並點選相應的按鈕即可出現數據類編輯對話方塊,如下圖

最終生成的MFC程式碼如下:

/*----------------------------------------------------------------------------------------------------------------
Version:	AdoAssist 1.10
   Time:	2011-11-09 16:36:25
    SQL:	SELECT * FROM tbl_Demo
----------------------------------------------------------------------------------------------------------------*/
#pragma once

class CDBDemo
{
public:
	long			m_lID;	//0	ID	adInteger
	CString			m_strGuid;	//1	Guid	adVarWChar
	CString			m_strName;	//2	Name	adVarWChar
	long			m_lAge;	//3	Age	adInteger

public:
	// Database Interface
	bool AdoRecord(const ADODB::CAdoRecordset& rs);
};

// Database Interface
inline bool CDBDemo::AdoRecord(const ADODB::CAdoRecordset& rs)
{
	if (ADO_ISGETCOLLECT(rs))
	{
		ADO_OPTCOLLECT(_T("ID"), m_lID);	//0
	}
	ADO_OPTCOLLECT(_T("Guid"), m_strGuid);	//1
	ADO_OPTCOLLECT(_T("Name"), m_strName);	//2
	ADO_OPTCOLLECT(_T("Age"), m_lAge);	//3

	return true;
}
也可以在2的功能中選擇在DataGrid中顯示,下圖是資料庫模式資訊adSchemaTables顯示所有表的詳細資訊。

一些功能說明以及建議:

1.如果生成的欄位有非變數字元(中文等字元),請使用別名查詢轉換成變數字元。

2.ORACLE中查詢的字元名稱預設是大寫的, 可以用類似的別名FIELDNAME AS "FieldName"進行查詢。

3.聯合查詢的欄位名稱不能有重複,否則生成的類將可能無法編譯過去。

4.當一個查詢A是查詢B的子集且這兩個查詢有相互賦值情況時最好是採用繼承關係來生成類。

2010-09-06

+初始版本釋出

2011-11-09
-修復有時候用DataGrid顯示報錯“The rowset is not bookmarkable.”
+增加根據SQL生成MFC資料庫類的功能
+增加匯入和匯出記錄集的功能

+增加對多記錄集的支援功能

+增加常用的ADO連線字串的下拉選擇