You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
55 lines
2.1 KiB
Diff
55 lines
2.1 KiB
Diff
From 7f4fd1e72d8639c2fa0ee309ed6ffa9acb13eccf Mon Sep 17 00:00:00 2001
|
|
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
|
Date: Fri, 12 Jul 2024 14:40:32 +1000
|
|
Subject: [PATCH] odbc32: SQLBindParameter handle fallback function
|
|
|
|
---
|
|
dlls/odbc32/proxyodbc.c | 28 ++++++++++++++++++++++++++++
|
|
1 file changed, 28 insertions(+)
|
|
|
|
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
|
|
index 1add621ca31..7723b9516ac 100644
|
|
--- a/dlls/odbc32/proxyodbc.c
|
|
+++ b/dlls/odbc32/proxyodbc.c
|
|
@@ -5580,9 +5580,37 @@ static SQLRETURN bind_parameter_win32( struct statement *stmt, SQLUSMALLINT para
|
|
SQLSMALLINT value_type, SQLSMALLINT param_type, SQLULEN size,
|
|
SQLSMALLINT digits, SQLPOINTER value, SQLLEN buflen, SQLLEN *len )
|
|
{
|
|
+ struct environment *env = (struct environment *)find_object_type(SQL_HANDLE_ENV, stmt->hdr.parent);
|
|
+
|
|
+ if (env && env->attr_version == SQL_OV_ODBC3 && env->driver_ver == SQL_OV_ODBC2)
|
|
+ {
|
|
+ /* ODBC v2 */
|
|
+ /* TODO: Make function */
|
|
+ if (value_type == SQL_C_TYPE_TIME)
|
|
+ value_type = SQL_C_TIME;
|
|
+ else if (value_type == SQL_C_TYPE_DATE)
|
|
+ value_type = SQL_C_DATE;
|
|
+ else if (value_type == SQL_C_TYPE_TIMESTAMP)
|
|
+ value_type = SQL_C_TIMESTAMP;
|
|
+
|
|
+ /* TODO: Make function */
|
|
+ if (param_type == SQL_TIME)
|
|
+ param_type = SQL_TYPE_TIME;
|
|
+ else if (param_type == SQL_DATE)
|
|
+ param_type = SQL_TYPE_DATE;
|
|
+ else if (param_type == SQL_TIMESTAMP)
|
|
+ param_type = SQL_TYPE_TIMESTAMP;
|
|
+ }
|
|
+
|
|
if (stmt->hdr.win32_funcs->SQLBindParameter)
|
|
return stmt->hdr.win32_funcs->SQLBindParameter( stmt->hdr.win32_handle, param, io_type, value_type,
|
|
param_type, size, digits, value, buflen, len );
|
|
+ else if(stmt->hdr.win32_funcs->SQLBindParam)
|
|
+ {
|
|
+ return stmt->hdr.win32_funcs->SQLBindParam( stmt->hdr.win32_handle, param, value_type, param_type,
|
|
+ size, digits, value, len);
|
|
+ }
|
|
+
|
|
return SQL_ERROR;
|
|
}
|
|
|
|
--
|
|
2.50.1
|
|
|