void DBInsert(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=1234;DATABASE=test;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);
//SQL_NTS telling the function the previous parameter is Null-Terminated String,
//please alculate the string length for me
//insert into `test`.`t_person`(FAge,FName) values(12,'小明')
TCHAR UserName[256];
TCHAR PassWord[256];
GetDlgItemText(hwnd,IDC_USERNAME,UserName,sizeof(UserName));
GetDlgItemText(hwnd,IDC_PASSWORD,PassWord,sizeof(PassWord));
TCHAR strSQL[256];
wsprintf(strSQL,"insert into T_users(FUserName,FPassWord) values('%s','%s')",UserName,PassWord);
result = SQLPrepare(hstmt,(SQLCHAR*)strSQL,SQL_NTS);
CHECKDBSTMTERROR(hwnd,result,hstmt);
result =SQLExecute(hstmt);
CHECKDBSTMTERROR(hwnd,result,hstmt);
SQLFreeStmt(hstmt,SQL_CLOSE);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
MessageBox(hwnd,TEXT("插入成功"),TEXT("标题"),MB_OK);
}
void DBLogin(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=1234;DATABASE=test;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 UserName[256];
TCHAR PassWord[256];
GetDlgItemText(hwnd,IDC_USERNAME,UserName,sizeof(UserName));
GetDlgItemText(hwnd,IDC_PASSWORD,PassWord,sizeof(PassWord));
TCHAR strSQL[256];
wsprintf(strSQL,"select FUserName,FPassWord from T_users where FUserName='%s'",UserName);
//SQL_NTS telling the function the previous parameter is Null-Terminated String,
//please alculate the string length for me
result = SQLPrepare(hstmt,(SQLCHAR*)strSQL,SQL_NTS);
CHECKDBSTMTERROR(hwnd,result,hstmt);
result =SQLExecute(hstmt);
CHECKDBSTMTERROR(hwnd,result,hstmt);
/*
SQLINTEGER cbsatid=SQL_NTS;
while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND)
{
SQLCHAR name[20];
SQLGetData(hstmt,1,SQL_C_CHAR,name,20,&cbsatid);
MessageBox(hwnd,(char*)name,"showname",MB_OK);
}
//*/
if (SQLFetch(hstmt)==SQL_NO_DATA_FOUND)
{
MessageBox(hwnd,TEXT("用户不存在!"),TEXT("标题"),MB_OK);
}
else
{
SQLINTEGER cbsatid=SQL_NTS;
//while (SQLFetch(hstmt)!=SQL_NO_DATA_FOUND)
{
SQLCHAR name[20];
SQLGetData(hstmt,1,SQL_C_CHAR,name,20,&cbsatid);
//MessageBox(hwnd,(char*)name,"showname",MB_OK);
//SQLINTEGER i;
char passwrd[256];
SQLGetData(hstmt,2,SQL_C_CHAR,passwrd,sizeof(passwrd),&cbsatid);
//MessageBox(hwnd,itoa(i,passwrd,10),"passwrd",MB_OK);
if (0==lstrcmp(passwrd,PassWord))
{
MessageBox(hwnd,"登陆成功","!",MB_OK);
}
else
{
MessageBox(hwnd,"登陆失败","!",MB_OK);
}
}
}
SQLFreeStmt(hstmt,SQL_CLOSE);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
//MessageBox(hwnd,TEXT("登陆成功"),TEXT("标题"),MB_OK);
}
void DBInsert(HWND hwnd) void DBLogin(HWND hwnd)
最新推荐文章于 2024-08-15 11:19:42 发布