当前位置:编程学习 > VC++ >>

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文件丢失

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,