经过这几天的研究,总算成功的从数据库中读取到了字段内容,还要多亏了好心人的帮助。
一、首先要写一个存储过程:脚本如下
----------------------------------------------------------------------------------------------------
USE QPAccountsDB
GO
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[GSP_GP_PlayTimeCount]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[GSP_GP_PlayTimeCount]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
----------------------------------------------------------------------------------------------------
-- 获取游戏时长
CREATE PROC GSP_GP_PlayTimeCount
@dwUserID INT -- 用户 I D
AS
-- 属性设置
SET NOCOUNT ON
-- 执行逻辑
BEGIN
-- 变量定义
DECLARE @PlayTimeCount INT --游戏时长
DECLARE @UserID INT
-- 查询用户
SELECT @PlayTimeCount=PlayTimeCount
FROM QPTreasureDBLink.QPTreasureDB.dbo.GameScoreInfo WHERE UserID=@dwUserID
-- 输出变量
SELECT @PlayTimeCount AS PlayTimeCount
END
RETURN 0
GO
----------------------------------------------------------------------------------------------------
二、在服务端的DataBaseEngineSink.cpp下的登录成功CDataBaseEngineSink::OnLogonDisposeResult这个函数,添加如下代码,代码存放位置为上一个数据库获取字段结束。
m_AccountsDBAide.ResetParameter();
m_AccountsDBAide.AddParameter(TEXT("@dwUserID"),LogonSuccess.dwUserID</