REGDIG.OBJ : error LNK2005: "void _cdecl ShowDBError(struct HWND_ *short,void,该如何处理

REGDIG.OBJ : error LNK2005: "void __cdecl ShowDBError(struct HWND__ *,short,void
#ifndef _MAIN_H
#define _MAIN_H

#include <windows.h>

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void Main_OnClose(HWND hwnd);

void LoginDataBase (HWND hwnd);

#endif

____________________

#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include "stdlib.h"
#include "LOGINDIG.H"
#include "REGDIG.h"
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

#define LOGIN_TIMEOUT 30
#define MAXBUFLEN 255

#define CHECKDBSTMTERROR(hwnd,result,hstmt) if(SQL_ERROR==result){ShowDBStmtError(hwnd,hstmt);return;}

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}

return FALSE;
}

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{


return TRUE;
}

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_BUTTONLOG:
{
LoginDataBase(hwnd);
        
}
break;
case IDC_BUTTONREG:
{
HINSTANCE hInstance = (HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
DialogBox(hInstance, MAKEINTRESOURCE(IDD_REGDIG), NULL, REGDIG_Proc);

}
break;


}
}

void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
void ShowDBError(HWND hwnd,SQLSMALLINT type,SQLHANDLE sqlHandle)
{
char pStatus[10], pMsg[101];
SQLSMALLINT SQLmsglen;
char error[200] = {0};
SQLINTEGER SQLerr;
long erg2 = SQLGetDiagRec(type, sqlHandle,1,
  (SQLCHAR *)pStatus,&SQLerr,(SQLCHAR *)pMsg,100,&SQLmsglen);
wsprintf(error,"%s (%d)\n",pMsg,(int)SQLerr);
MessageBox(hwnd,error,TEXT("数据库执行错误"),MB_ICONERROR|MB_OK);
}
void ShowDBConnError(HWND hwnd,SQLHDBC hdbc)
{
ShowDBError(hwnd,SQL_HANDLE_DBC,hdbc);
}
void ShowDBStmtError(HWND hwnd,SQLHSTMT hstmt)
{
ShowDBError(hwnd,SQL_HANDLE_STMT,hstmt);
}
void LoginDataBase(HWND hwnd)
{

SQLHENV henv = NULL;
SQLHDBC hdbc = NULL;
SQLHSTMT hstmt = NULL;
SQLRETURN result;
SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=123456;DATABASE=brms;CharSet=gbk;";
SQLCHAR ConnStrOut[MAXBUFLEN];
//分配环境句柄
result = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
//设置管理环境属性
result = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
//分配连接句柄
result = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
//设置连接属性
result = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)LOGIN_TIMEOUT, 0);
//连接数据库
result = SQLDriverConnect(hdbc,NULL,
  ConnStrIn,SQL_NTS,
  ConnStrOut,MAXBUFLEN,
  (SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);
if(SQL_ERROR==result)
{
   ShowDBConnError(hwnd,hdbc);
   return;
}
//初始化语句句柄
result = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);

TCHAR inputUsername[20];
GetDlgItemText(hwnd,IDC_EDITUSERNAME,inputUsername,sizeof(inputUsername)/sizeof(TCHAR));
TCHAR inputUserPass[20];
GetDlgItemText(hwnd,IDC_EDITPASSWORD,inputUserPass,sizeof(inputUserPass)/sizeof(TCHAR));

TCHAR sql[255];
ZeroMemory(sql,sizeof(sql)/sizeof(TCHAR));
wsprintf(sql,"select password from userinfo where user = '%s'", inputUsername);
result = SQLPrepare(hstmt,(SQLCHAR*)sql,SQL_NTS);
CHECKDBSTMTERROR(hwnd,result,hstmt);
result =SQLExecute(hstmt);
CHECKDBSTMTERROR(hwnd,result,hstmt);

SQLINTEGER cbsatid = SQL_NTS;
BOOL found = FALSE;

while(SQLFetch(hstmt) != SQL_NO_DATA_FOUND)
{

TCHAR userPass[20];
SQLGetData(hstmt,1,SQL_C_CHAR,userPass,sizeof(userPass)/sizeof(TCHAR),&cbsatid);

if(0 == lstrcmp(inputUserPass,userPass))
{
MessageBox(hwnd,TEXT("登录成功"),TEXT("提示"), MB_OK );
found = TRUE;
HINSTANCE hInstance = (HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE);
DialogBox(hInstance, MAKEINTRESOURCE(IDD_LOGINDIG), NULL, LOGINDIG_Proc);

}
}
if(FALSE == found)
{
MessageBox(hwnd,TEXT("输入错误"), TEXT("标题"), MB_OK | MB_ICONERROR);
}

SQLFreeStmt(hstmt,SQL_CLOSE);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);


}
______________________________________________________________________________________








------解决思路----------------------
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项