VC++中可否建立数据库,如果可以该如何建立?
追问:这个就不用说的
追问:这个就不用说的
答案:VC连接数据库 可以使用 odbc,ado,dao等 先给个odbc sdk的连接方式你 实用与VC控制台, MFC ,C等
#include <windows.h>
#include <iostream>
//////////////////////////////////////////////////////////////////////////
// how to use odbc access database
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// step 1: include header file
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
typedef SQLHand SQLHENV //SQL环境
SQLHDBC //ODBC连接
SQLHSTMT //sql语句
//add files to project odbc32.lib
#pragma comment(lib,"WS2_32.lib")
//////////////////////////////////////////////////////////////////////////
void main()
{
//////////////////////////////////////////////////////////////////////////
// variable definition:
//////////////////////////////////////////////////////////////////////////
SQLHENV henv=NULL; //SQL环境
SQLHDBC hdbc=NULL; //ODBC连接
SQLHSTMT hstmt=NULL; //SQL语句
SQLRETURN rc; //SQL执行结果
//////////////////////////////////////////////////////////////////////////
// ::SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv)))//设置环境
// if (SQL_SUCCESS == (rc = ::SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, SQL_IS_INTEGER)))
// {
// if (SQL_SUCCESS == (rc =
// ::SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc)))
rc=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
if (rc==SQL_SUCCESS) {
if(SQL_SUCCESS== (rc=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER) SQL_OV_ODBC3,SQL_IS_INTEGER)))
rc=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
rc=SQLConnect(hdbc, (SQLCHAR *)"sql", SQL_NTS, (SQLCHAR *)"sa", SQL_NTS, (SQLCHAR *)"sa", SQL_NTS);
// rc=SQLConnect(hdbc,(SQLCHAR *) "sql",SQL_NTS,(SQLCHAR *) "sa",SQL_NTS,(SQLCHAR * )"sa",SQL_NTS);
rc=SQLAllocHandle(SQL_HANDLE_STMT, hdbc,&hstmt);
LPCSTR szSQL="INSERT INTO Employees (LastName, FirstName) VALUES (N'222', N'333')";
SQLPrepare(hstmt,(SQLCHAR *) szSQL,SQL_NTS);
rc=SQLExecute(hstmt);
char szName[20];
SDWORD sd;
int PERSON_INFO =20;
//SQLBindCol(hstmt,0,SQL_C_CHAR, szName,30,&sd);
rc=SQLBindCol(hstmt,1,SQL_C_CHAR,szName,PERSON_INFO,&sd);//绑定字段
rc=SQLFetch(hstmt);//取出 szName就是你需要的数据库字段 每次sqlfetch() 数据库查询返回下一行的字段值
std::cout<<szName<<std::endl;
SQLFreeHandle(SQL_HANDLE_STMT,hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
hdbc=NULL;
SQLFreeHandle(SQL_HANDLE_ENV,henv);
henv=NULL;
}
}
其他:ADO,网上的资料大把的 你是想在VC里面管理数据库吗?应该建立数据库工程
上一个:VC++6.0设计登录对话框,如何设计“登录”按钮?
下一个:用VC++6.0编写dll文件 加载exe测试 系统提示:dll文件丢失