strigun

    1. 用Debug版时,一点都没有问题;但是用Relse版调试时,就出现问题: BOOL CComTestDlg::AddNewStudent(const REC_STUDENT *pRecStudent) {         //定义学生数据库对象         //CComTestDlg tblStudent;         CEOID ceOid;         //定义字段属性         //CEPROPVAL pProps[4];         CEPROPVAL pProps[2];         DWORD dwErrorCode = 0;         DWORD dwWritten = 0;         //1,打开数据库--在程序初始化时打开或创建         //if (!tblStudent.DB_Open_Student())         if(m_hDB==NULL)                 if (!DB_Open_Student())                 {                         //打开数据库失败                         return FALSE;                 }         //给字段属性赋值         ZeroMemory(&pProps[0],sizeof(CEPROPVAL)*4);         [color=#FF0000]         //编号         pProps[0].propid = PID_NO;         pProps[0].val.lpwstr = LPWSTR(pRecStudent->szNo);         pProps[0].wFlags = 0;         //数据         pProps[1].propid = PID_NAME ;         pProps[1].val.lpwstr = LPWSTR(pRecStudent->szName);         pProps[1].wFlags = 0;[/color]         //写入记录         ceOid = CeWriteRecordProps(m_hDB,0,2,pProps);         if (ceOid == 0)         {                 dwErrorCode = GetLastError();                 //如果 dwErrorCode  = 183, 表示编号重复                 //ERROR_ALREADY_EXISTS--183;ERROR_DISK_FULL--112;ERROR_INVALID_PARAMETER--87;                 if (dwErrorCode == ERROR_ALREADY_EXISTS)                 {                         TRACE(L"编号重复\n");                 }                 else                 {                         TRACE(L"写入记录失败 , Error Code = %d \n",dwErrorCode);                 }                                 //关闭数据库                 //tblStudent.DB_Close_Student();                 DB_Close_Student();                 return FALSE;         }         return TRUE; } 复制代码 红色部分的在Release版时,两个lpwstr变量不能得到数据,说是错误的指针! 然后就执行ceOid = CeWriteRecordProps(m_hDB,0,2,pProps);语句就报错!

最近访客

< 1/1 >

统计信息

已有36人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言