如何用win32控制台程序创建数据库
时间: 2024-03-16 17:43:20 浏览: 13
在Win32控制台程序中创建数据库需要使用相应的数据库管理系统(DBMS)和API。以下是使用ODBC API创建数据库的示例代码:
```c++
#include <windows.h>
#include <sqlext.h>
int main()
{
// 声明ODBC相关变量
SQLHENV hEnv;
SQLHDBC hDbc;
SQLRETURN ret;
// 初始化ODBC环境
ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
// 初始化失败
return 1;
}
ret = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
// 设置版本失败
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 1;
}
// 分配数据库连接句柄
ret = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
// 分配失败
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 1;
}
// 连接到数据库
ret = SQLConnect(hDbc, (SQLCHAR*)"datasource_name", SQL_NTS, (SQLCHAR*)"username", SQL_NTS, (SQLCHAR*)"password", SQL_NTS);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
// 连接失败
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 1;
}
// 创建数据库
ret = SQLExecDirect(hDbc, (SQLCHAR*)"CREATE DATABASE database_name", SQL_NTS);
if (ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
// 创建失败
SQLDisconnect(hDbc);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 1;
}
// 释放资源
SQLDisconnect(hDbc);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 0;
}
```
请注意,上面的代码只是一个简单的示例,实际使用时还需要根据具体的DBMS和API进行修改。