Beispiel #1
0
    protected FS2RoleDataInfo Query(GameServer server, int roleId)
    {
        FS2RoleDataInfo roleInfo  = null;
        ArrayList       paramList = new ArrayList();

        paramList.Add(roleId);
        string selectedFiled = string.Format("{0},{1},{2},{3},{4}",
                                             FS2TableString.RolesfirstFieldMoney, FS2TableString.RolesfirstFieldMoneyInBox,
                                             FS2TableString.RolesfirstFieldItemList, FS2TableString.RolesfirstFieldRoleName,
                                             FS2TableString.RolesfirstFieldId);
        string sqlCmdText = string.Format("SELECT {0} FROM {1} WHERE {2}='?';", selectedFiled,
                                          FS2TableString.RolesfirstTableName, FS2TableString.RolesfirstFieldId);
        SqlCommand cmd = new SqlCommand(sqlCmdText, paramList.ToArray());

        if (!server.IsConnected)
        {
            LabelOpMsg.Visible = true;
            LabelOpMsg.Text    = StringDef.NoConnectionAlert;
            return(null);
        }
        SqlResult result = WebUtil.QueryGameServerDb(CurrentUser.Id, server, cmd);

        if (result != null && result.Success)
        {
            result.SetFieldType(new SqlDataType[] {
                SqlDataType.UInt32,
                SqlDataType.UInt32,
                SqlDataType.Blob,
                SqlDataType.String,
                SqlDataType.Int32
            });
            object[] record;
            byte[]   itemData;

            roleInfo = new FS2RoleDataInfo();
            while ((record = result.ReadRecord()) != null)
            {
                if (record != null)
                {
                    roleInfo.Money      = (uint)record[0];
                    roleInfo.MoneyInBox = (uint)record[1];
                    itemData            = (byte[])record[2];
                    if (itemData != null)
                    {
                        roleInfo.ItemList = FS2ItemDataInfo.Parse(itemData);
                        //if (info != null) ItemList.Add(info);
                    }
                    roleInfo.RoleName = record[3] as string;
                    roleInfo.RoleId   = (int)record[4];
                }
            }
            //RenderView(roleInfo);
        }
        return(roleInfo);
    }