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

📄 commands.h

📁 Vc.Net入门与提高源码
💻 H
字号:
// File: Commands.h
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Classes Reference and related electronic
// documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft C++ Libraries products.

#pragma once

[
	db_command("SELECT [SiteUser].[Email] FROM [SiteUser] WHERE [SiteUser].[UserName] = ?")
]
class CGetEmail
{
public:
	[db_param(1, status = m_dwUserNameStatus, length = m_dwUserNameLength)]
	char m_UserName[51];

	[db_column(1, status = m_dwEmailStatus, length = m_dwEmailLength)]
	char m_Email[256];

	DBSTATUS m_dwUserNameStatus;
	DBSTATUS m_dwEmailStatus;

	DBLENGTH m_dwUserNameLength;
	DBLENGTH m_dwEmailLength;
};

class CCommandGetEmail : public CGetEmail
{
public:
	CCommandGetEmail();
	void Clear();
	HRESULT SetUserName(LPCSTR szUserName);
};

[ 
	db_command("INSERT INTO [Order] ( [UserName], [Order] ) VALUES(?, ?)")
]
class CCreateOrder
{
public:
	[db_param(1, status = m_dwUserNameStatus, length = m_dwUserNameLength)]
	char m_UserName[51];

	[db_param(2, status = m_dwOrderStatus, length = m_dwOrderLength)]
	char m_Order[101];

	DBSTATUS m_dwUserNameStatus;
	DBSTATUS m_dwOrderStatus;

	DBLENGTH m_dwUserNameLength;
	DBLENGTH m_dwOrderLength;

	void GetRowsetProperties(CDBPropSet* pPropSet)
	{
		pPropSet->AddProperty(DBPROP_IRowsetChange, true);
	}
};

class CCommandCreateOrder : public CCreateOrder
{
public:
	CCommandCreateOrder();
	void Clear();
	HRESULT SetUserName(LPCSTR szUserName);
	HRESULT SetOrder(LPCSTR szOrder);
};

[
	db_command("SELECT [Stock].[Name], [Stock].[Description], [Stock].[Price], [Stock].[Id] FROM [Stock]")
]
class CGetStock
{
public:
	[db_column(1, status = m_dwNameStatus, length = m_dwNameLength)]
	char m_Name[51];

	[db_column(2, status = m_dwDescriptionStatus, length = m_dwDescriptionLength)]
	char m_Description[300];

	[db_column(3, status = m_dwPriceStatus)]
	long m_Price;

	[db_column(4, status = m_dwIdStatus)]
	long m_Id;

	DBSTATUS m_dwNameStatus;
	DBSTATUS m_dwDescriptionStatus;
	DBSTATUS m_dwPriceStatus;
	DBSTATUS m_dwIdStatus;

	DBLENGTH m_dwNameLength;
	DBLENGTH m_dwDescriptionLength;
};

class CCommandGetStock : public CGetStock
{
public:
	CCommandGetStock();
	void Clear();

	bool AllMembersOk();
};

[
	db_command(L"SELECT [SiteUser].[Password], [SiteUser].[Salt] FROM [SiteUser] WHERE [SiteUser].[UserName] = ?")
]
class CSiteUser
{
public:
	[ db_param(1, status = m_dwUserNameStatus, length = m_dwUserNameLength) ]
	char m_UserName[51];

	[ db_column(1, status = m_dwPasswordStatus, length = m_dwPasswordLength) ]
	BYTE m_Password[51];

	[ db_column(2, status = m_dwSaltStatus, length = m_dwSaltLength) ]
	BYTE m_Salt[4];

	DBSTATUS m_dwUserNameStatus;
	DBSTATUS m_dwPasswordStatus;
	DBSTATUS m_dwSaltStatus;

	DBLENGTH m_dwUserNameLength;
	DBLENGTH m_dwPasswordLength;
	DBLENGTH m_dwSaltLength;
};

class CCommandSiteUser : public CSiteUser
{
public:
	CCommandSiteUser();
	void Clear();
	HRESULT SetUserName(LPCSTR szUserName);
	HRESULT ComparePassword(LPCSTR szPassword);
};

[ 
	db_command("INSERT INTO [SiteUser] ( [Password], [Salt], [UserName] ) VALUES(?, ?, ?)")
]
class CCreateUser
{
public:
	[ db_param(1, status = m_dwPasswordStatus, length = m_dwPasswordLength) ]
	BYTE m_Password[51];

	[ db_param(2, status = m_dwSaltStatus, length = m_dwSaltLength) ]
	BYTE m_Salt[4];

	[ db_param(3, status = m_dwUserNameStatus, length = m_dwUserNameLength) ]
	char m_UserName[51];

	DBSTATUS m_dwPasswordStatus;
	DBSTATUS m_dwSaltStatus;
	DBSTATUS m_dwUserNameStatus;

	DBLENGTH m_dwPasswordLength;
	DBLENGTH m_dwSaltLength;
	DBLENGTH m_dwUserNameLength;

	void GetRowsetProperties(CDBPropSet* pPropSet)
	{
		pPropSet->AddProperty(DBPROP_IRowsetChange, true);
	}
};

class CCommandCreateUser : public CCreateUser
{
public:
	CCommandCreateUser();
	void Clear();
	HRESULT SetUserName(LPCSTR szUserName);
	HRESULT SetPassword(LPCSTR szPassword);
};

⌨️ 快捷键说明

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