34,576
社区成员
发帖
与我相关
我的任务
分享
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charid",adInteger,adParamInput,sizeof(int),vCharInfo.CharID);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charname",adVarChar,adParamInput,sizeof(vCharInfo.szCharName),vCharInfo.szCharName);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charsex",adChar,adParamInput,sizeof(vCharInfo.Sex),vCharInfo.Sex);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charprofession",adChar,adParamInput,sizeof(vCharInfo.Profession),vCharInfo.Profession);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("chartribe",adChar,adParamInput,sizeof(vCharInfo.Tribe),vCharInfo.Tribe);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
if(NULL == mDBManager.ExecuteSP("newcharacter_sp"))
{
return DBERROR_NORMAIL;
}
mDBManager.GetCommand()->Parameters->Delete("charid");
mDBManager.GetCommand()->Parameters->Delete("charname");
mDBManager.GetCommand()->Parameters->Delete("charsex");
mDBManager.GetCommand()->Parameters->Delete("charprofession");
mDBManager.GetCommand()->Parameters->Delete("chartribe");
CREATE PROCEDURE newcharacter_sp @charid bigint,
@charname varchar(16),
@charsex char,
@charprefession char,
@chartribe char
AS
BEGIN
BEGIN TRAN
INSERT INTO CHARACTER_INFO(CHAR_ID,CHAR_NAME,CHAR_SEX,CHAR_PROFESSION,CHAR_TRIBE)
VALUES (@charid,@charname,@charsex,@charprefession,@chartribe)
if @@ERROR <> 0
BEGIN
ROLLBACK TRAN
END
else
BEGIN
COMMIT TRAN
END
END
GO
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charsex",adChar,adParamInput,sizeof(vCharInfo.Sex)+1,vCharInfo.Sex);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("charprofession",adChar,adParamInput,sizeof(vCharInfo.Profession)+1,vCharInfo.Profession);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
mDBManager.GetParameter() = mDBManager.GetCommand()->CreateParameter("chartribe",adChar,adParamInput,sizeof(vCharInfo.Tribe)+1,vCharInfo.Tribe);
mDBManager.GetCommand()->Parameters->Append(mDBManager.GetParameter());
CREATE PROCEDURE newcharacter_sp @charid bigint,
@charname varchar(16),
--modify *********************************************
--你要定义长度的,长度不够。
@charsex varchar(50),
@charprefession varchar(50),
@chartribe varchar(50)
AS
BEGIN
BEGIN TRAN
INSERT INTO CHARACTER_INFO(CHAR_ID,CHAR_NAME,CHAR_SEX,CHAR_PROFESSION,CHAR_TRIBE)
VALUES (@charid,@charname,@charsex,@charprefession,@chartribe)
if @@ERROR <> 0
BEGIN
ROLLBACK TRAN
END
else
BEGIN
COMMIT TRAN
END
END
GO