直接通过ODBC API访问SQL数据库

*********************************
ODBC - Open DataBase Connectivity
*********************************

Basic Steps

Connecting to the SQL Server DataBase for retrieving information from tables


*************************************************************
The steps 1 - 3 are for connecting to the SQL Server Database
*************************************************************


1. Allocate ODBC Environment Handle

If SQLAllocEnv(glEnv) <> 0 Then
  MsgBox "Unable to initialize ODBC API drivers!"
  End
End If
______________________________________________________________

2. Allocate ODBC Database Handle

Dim iStatus As Integer

If SQLAllocConnect(glEnv, glDbc) <> 0 Then
  MsgBox "Could not allocate memory for connection Handle!"
  ODBCInit = False

  ' Free the Environment
  iStatus = SQLFreeEnv(lEnv)

  If iStatus = SQL_ERROR Then
    MsgBox "Error Freeing Environment From ODBC Drivers"
  End If

  ' Quit the Application
  End
End If
______________________________________________________________

3. Connect using the sConnect string - SQLDriverConnect

Dim sResult As String
Dim iSize As Integer
Dim sConnect As String

sConnect = "DSN=" & gsDSN & ";UID=" & gsLoginID & ";PWD=" & gsPassword & ";APP=" & gsAppCode & ";DATABASE=" & gsDatabase

If SQLDriverConnect(glDbc, Screen.ActiveForm.hWnd, sConnect, Len(sConnect), sResult, Len(sResult), iSize, 0) <= 0 Then
  MsgBox "Could not establish connection to ODBC driver!"
End If
______________________________________________________________


***************************************************
The steps 4 - 8 are for retrieving data from tables
***************************************************


4. Allocate ODBC Statement Handle

If SQLAllocStmt(glDbc, glStmt) <> 0 Then

   MsgBox "Could not allocate memory for a statement handle!"

End If
______________________________________________________________

5. Execute ODBC Statement - SQLExecDirect

Dim lRet As Long, lErrNo As Long
Dim iLen As Integer
Dim sSQL

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C++可以通过ODBC接口来操作SQL Server数据库ODBC是一种开放的数据库连接标准,可以让不同的编程语言和操作系统连接到不同的数据库管理系统。 在C++中,可以使用ODBC API来连接和操作SQL Server数据库。首先需要安装ODBC驱动程序,然后使用ODBC API中的函数来连接数据库、执行SQL语句、获取结果等操作。 以下是一个简单的C++程序示例,演示如何使用ODBC API连接SQL Server数据库并执行查询操作: ``` #include <windows.h> #include <sql.h> #include <sqlext.h> int main() { SQLHENV henv; SQLHDBC hdbc; SQLHSTMT hstmt; SQLRETURN ret; // 初始化ODBC环境句柄 ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); ret = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, ); // 初始化数据库连接句柄 ret = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); ret = SQLConnect(hdbc, (SQLCHAR*)"mydsn", SQL_NTS, (SQLCHAR*)"myusername", SQL_NTS, (SQLCHAR*)"mypassword", SQL_NTS); // 初始化SQL语句句柄 ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); ret = SQLExecDirect(hstmt, (SQLCHAR*)"SELECT * FROM mytable", SQL_NTS); // 获取查询结果 SQLCHAR name[256]; SQLINTEGER age; while (SQLFetch(hstmt) == SQL_SUCCESS) { SQLGetData(hstmt, 1, SQL_C_CHAR, name, sizeof(name), NULL); SQLGetData(hstmt, 2, SQL_C_LONG, &age, sizeof(age), NULL); printf("%s %d\n", name, age); } // 释放句柄 SQLFreeHandle(SQL_HANDLE_STMT, hstmt); SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); return ; } ``` 在上面的示例中,首先使用SQLAllocHandle函数初始化ODBC环境句柄和数据库连接句柄。然后使用SQLConnect函数连接到数据库,需要指定DSN、用户名和密码。接着使用SQLAllocHandle函数初始化SQL语句句柄,并使用SQLExecDirect函数执行查询操作。最后使用SQLGetData函数获取查询结果,并使用SQLFreeHandle函数释放句柄。 需要注意的是,ODBC API中的函数返回值都是SQLRETURN类型,需要根据返回值判断操作是否成功。另外,需要在程序中包含windows.h头文件,以便使用SQLHENV、SQLHDBC和SQLHSTMT等类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shawls

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值