|
1 | | ---- |
2 | | -title: "C Data Types | Microsoft Docs" |
3 | | -ms.custom: "" |
4 | | -ms.date: "01/19/2017" |
5 | | -ms.prod: "sql-non-specified" |
6 | | -ms.reviewer: "" |
7 | | -ms.suite: "" |
8 | | -ms.technology: |
9 | | - - "drivers" |
10 | | -ms.tgt_pltfrm: "" |
11 | | -ms.topic: "article" |
12 | | -helpviewer_keywords: |
13 | | - - "data types [ODBC], C data types" |
14 | | - - "C data types [ODBC], about C data types" |
15 | | - - "C data types [ODBC]" |
16 | | - - "C buffers [ODBC]" |
17 | | -ms.assetid: b681d260-3dbb-47df-a616-4910d727add7 |
18 | | -caps.latest.revision: 19 |
19 | | -author: "MightyPen" |
20 | | -ms.author: "genemi" |
21 | | -manager: "jhubbard" |
22 | | ---- |
23 | | -# C Data Types |
| 1 | +--- |
| 2 | +title: "C Data Types | Microsoft Docs" |
| 3 | +ms.custom: "" |
| 4 | +ms.date: "01/19/2017" |
| 5 | +ms.prod: "sql-non-specified" |
| 6 | +ms.reviewer: "" |
| 7 | +ms.suite: "" |
| 8 | +ms.technology: |
| 9 | + - "drivers" |
| 10 | +ms.tgt_pltfrm: "" |
| 11 | +ms.topic: "article" |
| 12 | +helpviewer_keywords: |
| 13 | + - "data types [ODBC], C data types" |
| 14 | + - "C data types [ODBC], about C data types" |
| 15 | + - "C data types [ODBC]" |
| 16 | + - "C buffers [ODBC]" |
| 17 | +ms.assetid: b681d260-3dbb-47df-a616-4910d727add7 |
| 18 | +caps.latest.revision: 19 |
| 19 | +author: "MightyPen" |
| 20 | +ms.author: "genemi" |
| 21 | +manager: "jhubbard" |
| 22 | +--- |
| 23 | +# C Data Types |
24 | 24 | ODBC C data types indicate the data type of C buffers used to store data in the application. |
25 | 25 |
|
26 | 26 | All drivers must support all C data types. This is required because all drivers must support all C types to which SQL types that they support can be converted, and all drivers support at least one character SQL type. Because the character SQL type can be converted to and from all C types, all drivers must support all C types. |
@@ -135,7 +135,7 @@ struct tagSQLGUID { |
135 | 135 |
|
136 | 136 | [e] A number is stored in the *val* field of the SQL_NUMERIC_STRUCT structure as a scaled integer, in little endian mode (the leftmost byte being the least-significant byte). For example, the number 10.001 base 10, with a scale of 4, is scaled to an integer of 100010. Because this is 186AA in hexadecimal format, the value in SQL_NUMERIC_STRUCT would be "AA 86 01 00 00 ... 00", with the number of bytes defined by the SQL_MAX_NUMERIC_LEN **#define**. |
137 | 137 |
|
138 | | - For more information about **SQL_NUMERIC_STRUCT**, see [HOWTO: Retrieving Numeric Data with SQL_NUMERIC_STRUCT](http://go.microsoft.com/fwlink/?LinkId=147596) and [INF: How to Use SQL_C_NUMERIC Data Type with Numeric Data](http://go.microsoft.com/fwlink/?LinkId=147597). |
| 138 | + For more information about **SQL_NUMERIC_STRUCT**, see [HOWTO: Retrieving Numeric Data with SQL_NUMERIC_STRUCT](http://go.microsoft.com/fwlink/?LinkId=147596). |
139 | 139 |
|
140 | 140 | [f] The precision and scale fields of the SQL_C_NUMERIC data type areused for input from an application and for output from the driver to the application. When the driver writes a numeric value into the SQL_NUMERIC_STRUCT, it will use its own driver-specific default as the value for the *precision* field, and it will use the value in the SQL_DESC_SCALE field of the application descriptor (which defaults to 0) for the *scale* field. An application can provide its own values for precision and scale by setting the SQL_DESC_PRECISION and SQL_DESC_SCALE fields of the application descriptor. |
141 | 141 |
|
|
0 commit comments