From 335f8f02800eb8bc053d22c5e505d93a1443dfca Mon Sep 17 00:00:00 2001
From: znone <glyc@sina.com.cn>
Date: Fri, 04 Sep 2020 14:49:37 +0000
Subject: [PATCH] 修复ODBC调用的错误。

---
 include/qtl_odbc.hpp |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/qtl_odbc.hpp b/include/qtl_odbc.hpp
index c42d812..0250f84 100644
--- a/include/qtl_odbc.hpp
+++ b/include/qtl_odbc.hpp
@@ -776,7 +776,7 @@
 			SQLULEN column_size;
 			SQLSMALLINT digits;
 			SQLSMALLINT nullable;
-			verify_error(SQLDescribeCol(m_handle, i, field_name, sizeof(field_name), &name_length,
+			verify_error(SQLDescribeColA(m_handle, i, field_name, sizeof(field_name), &name_length,
 				&data_type, &column_size, &digits, &nullable));
 			if(strncmp((char*)field_name, name, name_length)==0)
 				return i;
@@ -949,7 +949,15 @@
 
 	void set_attribute(SQLINTEGER attr, SQLINTEGER value)
 	{
-		verify_error(SQLSetConnectAttr(m_handle, attr, &value, 0));
+		verify_error(SQLSetConnectAttr(m_handle, attr, (SQLPOINTER)value, 0));
+	}
+	void set_attribute(SQLINTEGER attr, const char* value)
+	{
+		verify_error(SQLSetConnectAttr(m_handle, attr, (SQLPOINTER)value, SQL_NTS));
+	}
+	void set_attribute(SQLINTEGER attr, const std::string& value)
+	{
+		verify_error(SQLSetConnectAttr(m_handle, attr, (SQLPOINTER)value.data(), value.size()));
 	}
 	void get_attribute(SQLINTEGER attr, SQLINTEGER& value) const
 	{

--
Gitblit v1.9.3