GetUserName的问题?????????

boylafong 2015-04-27 10:17:29
当前用户名testAAA(管理者权限)

用GetUserName成功,获得的用户名OK

问题:
当我更改了用户名后,改成testBBB,获得的用户名居然还是testAAA

重启动后全部清理,全部重新生成,无论是打印还是单不调试,出来就是testAAa

更改代码中某些部分,比如在显示用户名前先AfxmessageBox一些信息,都会出来,源代码应该没问题。

新建立一个用户名testCCC,代码不变,运行,是GetUserName出来就是testCCC

原因在哪里?

char UserName[MAX_PATH];
DWORD Size=MAX_PATH;
memset(UserName, 0, MAX_PATH);
::GetUserName(UserName,&Size);
CSring StrUserName = UserName;
...全文
336 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-04-27
  • 打赏
  • 举报
回复
引用 5 楼 worldy 的回复:
记得XP用户名那边有好多字段,你再仔细确认一下是否改对地方
引用 6 楼 boylafong 的回复:
[quote=引用 5 楼 worldy 的回复:] 记得XP用户名那边有好多字段,你再仔细确认一下是否改对地方
就下面那地方啊,一般都是这样改啊。 [/quote] 右键,点我的电脑,管理,用户与用户组,用户,右键点用户名更改
boylafong 2015-04-27
  • 打赏
  • 举报
回复
引用 8 楼 jason_wentzel 的回复:
去控制面板中改改试试?控制面板-->管理工具--->计算机管理--->本地用户和组
我日,果然是这样,我进去看了,我改的testBBB是全名,前面还有个用户名testAAA,那个改了就好了。。。
孤客天涯 2015-04-27
  • 打赏
  • 举报
回复
去控制面板中改改试试?控制面板-->管理工具--->计算机管理--->本地用户和组
boylafong 2015-04-27
  • 打赏
  • 举报
回复
引用 4 楼 jason_wentzel 的回复:
应该不太可能有这奇异的事情呀
我也先想知道。。。
boylafong 2015-04-27
  • 打赏
  • 举报
回复
引用 5 楼 worldy 的回复:
记得XP用户名那边有好多字段,你再仔细确认一下是否改对地方


就下面那地方啊,一般都是这样改啊。
worldy 2015-04-27
  • 打赏
  • 举报
回复
记得XP用户名那边有好多字段,你再仔细确认一下是否改对地方
孤客天涯 2015-04-27
  • 打赏
  • 举报
回复
应该不太可能有这奇异的事情呀
boylafong 2015-04-27
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
应该和大妈没有关系,估计系统本身就是这样,保留了原始的用户名信息,或者改名你改错了地方了
改错地方是什么意思? 控制面版里进用户名中修改的啊 还有什么地方可以更改吗?
worldy 2015-04-27
  • 打赏
  • 举报
回复
应该和大妈没有关系,估计系统本身就是这样,保留了原始的用户名信息,或者改名你改错了地方了
boylafong 2015-04-27
  • 打赏
  • 举报
回复
操作系统winxp
package dao.imp; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import common.Pager; import dao.BaseDao; import dao.UserDao; import entity.User; public class UserDaoImpl extends BaseDao implements UserDao { //根据SQL查询所有用户信息 public List getusersBySql(String sql,Object...args){ List list = new ArrayList(); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConn(); pstmt = conn.prepareStatement(sql); if(args!=null&&args.length>0){ for(int i = 0;iUsername(rs.getString("USERNAME")); user.setSex(rs.getString("SEX")); user.setAge(rs.getInt("AGE")); user.setTellphone(rs.getString("TELLPHONE")); user.setAddress(rs.getString("ADDRESS")); user.setPermission(rs.getInt("permission")); user.setPassword(rs.getString("password")); list.add(user); } } catch (Exception e) { e.printStackTrace(); }finally{ closeAll(rs, pstmt, conn); }return list; } //分页查询用户 public List getUsersByPager(Pager pager,User condition){ String conditionSql = ""; String sql = "select * from (select t1.*,rownum rn from userinfo t1 where rownum<=?"; if (condition.getUsername()!=null&&!condition.getUsername().trim().equals("")) { conditionSql="and username like '%"+condition.getUsername()+"%'"; } sql+=conditionSql; sql+=") where rn>?"; List list = getusersBySql(sql, pager.getCurrentPage()*pager.getPageSize(), (pager.getCurrentPage()-1)*pager.getPageSize()); String countSql = "select count(*) from userinfo where 1=1"+conditionSql; pager.setTotalCount(getUserCount(countSql)); return list; } //查询条数 public int getUserCount(String sql){ int count = 0; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConn(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if(rs.next()){ count = rs.getInt(1); } } catch (Exception e) { e.printStackTrace(); }finally{ closeAll(rs, pstmt, conn); } return count; } //查询所有用户信息 public List getAllUsers(){ String sql = "select * from userinfo"; return getusersBySql(sql); } //根据用户名查询 public User getUserByUsernameandP(String username,String password){ String sql = "select * from userinfo where username = ? and password=?"; List list = getusersBySql(sql, username,password); return list != null && list.size()>0 ? list.get(0) : null; } //根据编号查询 public User getUserByUserno(int userno){ String sql = "select * from userinfo where userno = ?"; List list = getusersBySql(sql, userno); return list != null && list.size()>0 ? list.get(0) : null; } public List getUserByUserno1(int userno){ String sql = "select * from userinfo where userno = ?"; List list = getusersBySql(sql, userno); return list; } //增加 public int addUser(User user){ String sql = "insert into userinfo values(seq_user.nextval,?,?,?,?,?,?,?)"; return super.executeSql(sql,user.getUsername(),user.getSex(),user.getAge(),user.getTellphone(),user.getAddress(),user.getPermission(),user.getPassword()); } //修改 public int updateUser(User user){ String sql = "update userinfo set username=?,sex=?,age=?,tellphone=?,address=?,permission=? ,password=? where userno=?"; return super.executeSql(sql, user.getUsername(),user.getSex(),user.getAge(),user.getTellphone(),user.getAddress(),user.getPermission(),user.getPassword(),user.getUserno()); } //删除 public int deleteUser(String username){ String sql = "delete from userinfo where username=?"; return super.executeSql(sql, username); } public int deleteUser(int userno){ String sql = "delete from userinfo where userno=?"; return super.executeSql(sql, userno); } public int updatePassword(String password,String username){ String sql="update userinfo set password=? where username=?"; return super.executeSql(sql, password,username); } public User getUserByUsername(String username){ String sql="select * from userinfo where username=?"; List list=getusersBySql(sql, username); return list != null && list.size()>0 ? list.get(0) : null; } public List getUserByUsername1(String username){ String sql="select * from userinfo where username=?"; List list=getusersBySql(sql, username); return list; } }
对DAO编写单元测试,其中的如下
package com.javaeedev.dao.impl;

import java.util.List;
import java.util.UUID;

import com.javaeedev.dao.UserDao;
import com.javaeedev.domain.PasswordTicket;
import com.javaeedev.domain.User;
import com.javaeedev.exception.LockException;
import com.javaeedev.util.HibernateUtil;

public class UserDaoImpl implements UserDao {

public User queryForSignOn(String username) {
User user = queryUser(username);
if(user.getLocked())
throw new LockException(user.getLockDate());
return user;
}

public User queryUser(String username) {
return (User) HibernateUtil.query(User.class, username);
}

public void createUser(User user) {
user.setEmailValidation((int)(Math.random() * 1000000) + 0xf);
HibernateUtil.createEntity(user);
}

public void updateUser(User user) {
HibernateUtil.updateEntity(user);
}

public boolean updateEmailValidation(String username, int ticket) {
if(ticket==0)
return false;
return 1==HibernateUtil.executeUpdate(
"update User as u set u.emailValidation=0 where u.username=? and u.emailValidation=?",
new Object[] { username, ticket }
);
}

public String createPasswordTicket(User user) {
HibernateUtil.executeUpdate(
"delete from PasswordTicket as pt where pt.user=?",
new Object[] { user }
);
String ticket = UUID.randomUUID().toString().replaceAll("\\-", "");
PasswordTicket pt = new PasswordTicket();
pt.setUser(user);
pt.setTicket(ticket);
pt.setCreatedDate(System.currentTimeMillis());
HibernateUtil.createEntity(pt);
return ticket;
}

public boolean updatePassword(String username, String oldPassword, String newPassword) {
if(!newPassword.matches(User.REGEX_PASSWORD))
return false;
return 1==HibernateUtil.executeUpdate(
"update User as u set u.password=? where u.username=? and u.password=?",
new Object[] { newPassword, username, oldPassword }
);
}

public boolean queryResetPassword(User user, String ticket) {
long time = System.currentTimeMillis() - 48L * 3600000L;
return !HibernateUtil.queryForList(
"select pt from PasswordTicket as pt where pt.user=? and pt.ticket=? and pt.createdDate>?",
new Object[] { user, ticket, time}
).isEmpty();
}

@SuppressWarnings("unchecked")
public boolean updateResetPassword(User user, String ticket, String password) {
if(!password.matches(User.REGEX_PASSWORD))
return false;
long time = System.currentTimeMillis() - 48L * 3600000L;
List list = HibernateUtil.queryForList(
"select pt from PasswordTicket as pt where pt.user=? and pt.ticket=? and pt.createdDate>?",
new Object[] { user, ticket, time}
);
if(list.isEmpty())
return false;
HibernateUtil.executeUpdate(
"delete from PasswordTicket as pt where pt.user=?",
new Object[] { user }
);
HibernateUtil.executeUpdate(
"update User as u set u.password=? where u.username=?",
new Object[] { password, user.getUsername() }
);
return true;
}

public void updateLock(User user, long lockTime) {
HibernateUtil.executeUpdate(
"update User as u set u.lockDate=? where u.username=?",
new Object[] { System.currentTimeMillis() + lockTime, user.getUsername() }
);
}

public void updateUnlock(User user) {
HibernateUtil.executeUpdate(
"update User as u set u.lockDate=0 where u.username=?",
new Object[] { user.getUsername() }
);
}

}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧