...
This commit is contained in:
		| @@ -17,6 +17,7 @@ | ||||
|     <ResourceCompile Include="..\..\..\source\car_dealer_util.rc" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp" /> | ||||
|     <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.cpp" /> | ||||
|     <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.cpp" /> | ||||
|     <ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp" /> | ||||
| @@ -44,6 +45,7 @@ | ||||
|     <QtMoc Include="..\..\..\source\Widgets\MainFrame\QMainFrame.h" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h" /> | ||||
|     <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.h" /> | ||||
|     <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.h" /> | ||||
|     <ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h" /> | ||||
|   | ||||
| @@ -80,6 +80,9 @@ | ||||
|     <Filter Include="数据\数据结构\用户信息"> | ||||
|       <UniqueIdentifier>{f51a3f4d-ff6f-4590-b123-b61afde72f0a}</UniqueIdentifier> | ||||
|     </Filter> | ||||
|     <Filter Include="数据\全局对象"> | ||||
|       <UniqueIdentifier>{7f951e1f-a198-4833-bbec-853de77c8cfe}</UniqueIdentifier> | ||||
|     </Filter> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <ClCompile Include="..\..\..\source\main.cpp"> | ||||
| @@ -127,6 +130,9 @@ | ||||
|     <ClCompile Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.cpp"> | ||||
|       <Filter>数据\数据结构\用户信息</Filter> | ||||
|     </ClCompile> | ||||
|     <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp"> | ||||
|       <Filter>数据\全局对象</Filter> | ||||
|     </ClCompile> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <QtRcc Include="..\..\..\source\resource.qrc"> | ||||
| @@ -196,5 +202,8 @@ | ||||
|     <ClInclude Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.h"> | ||||
|       <Filter>数据\数据结构\用户信息</Filter> | ||||
|     </ClInclude> | ||||
|     <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h"> | ||||
|       <Filter>数据\全局对象</Filter> | ||||
|     </ClInclude> | ||||
|   </ItemGroup> | ||||
| </Project> | ||||
| @@ -0,0 +1,4 @@ | ||||
|  | ||||
| #include "AppParameters.h" | ||||
|  | ||||
| UserInfo * pStaffInfo = nullptr; | ||||
| @@ -0,0 +1,7 @@ | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| #include <iostream> | ||||
| #include "../Datastructure/UserInfo/UserInfo.h" | ||||
|  | ||||
| extern UserInfo * pStaffInfo; | ||||
| @@ -21,12 +21,12 @@ UserInfo queryUserInfo( const string & userName, | ||||
| 	int              returnCode = 0; | ||||
|  | ||||
|  | ||||
| 	otext szSqlQueryStaff[] = | ||||
| 	string sqlQueryStaff = | ||||
| 			"SELECT a.staff_p13, a.staff_name, b.staff_post \n" | ||||
| 			"FROM staff_info a, \n" | ||||
| 			"staff_post_code b \n" | ||||
| 			"WHERE a.staff_post_code = b.staff_post_code \n" | ||||
| 			"AND a.staff_p13 = :p13 "; | ||||
| 			"AND a.staff_p13 = :p13"; | ||||
|  | ||||
| 	returnCode = OCI_Initialize( l_error_handler, nullptr, OCI_ENV_DEFAULT ); | ||||
|  | ||||
| @@ -56,16 +56,16 @@ UserInfo queryUserInfo( const string & userName, | ||||
| 	{ | ||||
| 		pStmt = OCI_StatementCreate( pConn ); | ||||
|  | ||||
| 		OCI_Prepare(pStmt, sqlQueryStaff.c_str()); | ||||
| 		OCI_AllowRebinding( pStmt, true ); | ||||
| 		OCI_Prepare( pStmt, szSqlQueryStaff ); | ||||
|  | ||||
| 		OCI_BindString( pStmt, ":p13", const_cast<otext*>(staffP13.c_str()), staffP13.size() ); | ||||
| 		 | ||||
| 		OCI_Execute( pStmt ); | ||||
|  | ||||
| 		 | ||||
| 		pResult = OCI_GetResultset( pStmt ); | ||||
|  | ||||
| 		//检查结果集,如果没有返回,则说明没有此用户	 | ||||
| 		if ( OCI_FetchFirst( pResult ) == false ) | ||||
| 		if ( OCI_FetchNext( pResult ) == false ) | ||||
| 		{ | ||||
| 			throw runtime_error( "用户不存在!" ); | ||||
| 		} | ||||
|   | ||||
| @@ -2,4 +2,9 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <iostream> | ||||
| #include "../Datastructure/UserInfo/UserInfo.h" | ||||
|  | ||||
| UserInfo queryUserInfo( const std::string & userName, | ||||
|                         const std::string & password, | ||||
|                         const std::string & tnsName, | ||||
|                         const std::string & staffP13 ); | ||||
|   | ||||
| @@ -1,5 +1,12 @@ | ||||
| #include "QLoginDialog.h" | ||||
| #include <iostream> | ||||
| #include "QLoginDialog.h" | ||||
| #include "../../system/system_util.h" | ||||
| #include "../../data/Datastructure/UserInfo/UserInfo.h" | ||||
| #include "../../data/query/query_user.h" | ||||
| #include "../../data/AppParameters/AppParameters.h" | ||||
| #include <QMessageBox> | ||||
|  | ||||
| using namespace std; | ||||
|  | ||||
| QLoginDialog::QLoginDialog( QWidget * parent ) | ||||
| 	: QDialog( parent ) | ||||
| @@ -24,26 +31,40 @@ void QLoginDialog::initData() | ||||
| { | ||||
| 	returnCode = EXIT; | ||||
|  | ||||
| 	systemUserName = QString::fromStdWString(getUserName()); | ||||
| 	systemUserName = QString::fromStdWString( getUserName() ); | ||||
| } | ||||
|  | ||||
| void QLoginDialog::initSignal() | ||||
| { | ||||
| 	connect(ui.pButtonOK, SIGNAL(clicked()), this, SLOT(onOK())); | ||||
| 	connect(ui.pButtonExit, SIGNAL(clicked()), this, SLOT(onExit())); | ||||
| 	connect( ui.pButtonOK, SIGNAL( clicked() ), this, SLOT( onOK() ) ); | ||||
| 	connect( ui.pButtonExit, SIGNAL( clicked() ), this, SLOT( onExit() ) ); | ||||
| } | ||||
|  | ||||
| void QLoginDialog::initWidgets() | ||||
| { | ||||
| 	setLayout( ui.pLayoutMain ); | ||||
|  | ||||
| 	ui.pEditSystemUserName->setText(systemUserName); | ||||
| 	ui.pEditSystemUserName->setText( systemUserName ); | ||||
|  | ||||
| 	try | ||||
| 	{ | ||||
| 		queryStaffInfo( systemUserName ); | ||||
| 	} | ||||
| 	catch ( runtime_error & error ) | ||||
| 	{ | ||||
| 		//如果出现异常,就不让用户继续登录 | ||||
| 		QMessageBox::critical( nullptr, | ||||
| 		                       "错误,请联系管理员!", | ||||
| 		                       QString::fromLocal8Bit( error.what() ) ); | ||||
|  | ||||
| 		ui.pButtonOK->setEnabled( false ); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void QLoginDialog::onOK() | ||||
| { | ||||
| 	returnCode = OK; | ||||
| 	 | ||||
|  | ||||
| 	this->close(); | ||||
| } | ||||
|  | ||||
| @@ -53,3 +74,19 @@ void QLoginDialog::onExit() | ||||
|  | ||||
| 	this->close(); | ||||
| } | ||||
|  | ||||
| void QLoginDialog::queryStaffInfo( const QString & systemUserName ) | ||||
| { | ||||
| 	string userName = "car_dealer"; | ||||
| 	string password = "cpic123456"; | ||||
| 	string tnsName  = "xmcx1"; | ||||
|  | ||||
| 	string staffP13 = systemUserName.toLocal8Bit(); | ||||
|  | ||||
| 	UserInfo && info = queryUserInfo( userName, | ||||
| 	                                  password, | ||||
| 	                                  tnsName, | ||||
| 	                                  staffP13 ); | ||||
|  | ||||
| 	pStaffInfo = new UserInfo( info ); | ||||
| } | ||||
|   | ||||
| @@ -27,6 +27,9 @@ protected Q_SLOTS: | ||||
| 	void onOK(); | ||||
| 	void onExit(); | ||||
|  | ||||
| private: | ||||
| 	void queryStaffInfo( const QString & systemUserName ); | ||||
|  | ||||
| private: | ||||
| 	Ui::QLoginDialog ui; | ||||
| 	ReturnCode returnCode; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user