1 //++++++++++++++++++++++++++
2 // SQLprog2.cpp
3 //++++++++++++++++++++++++++
4
5 ///#include header
6 #include <windows.h>
7 #include <sqlext.h>
8 #include <sql.h>
9 //#include <cstdlib>
10 #include <iostream>
11 #include <stdio.h>
12
13 ///main_in
14 int main(int argc,char *argv[])
15 {
16 ///declare Handle_Var
17 HENV hEnv = NULL; // Env Handle from SQLAllocEnv()
18 HDBC hDBC = NULL; // Connection handle
19 HSTMT hStmt = NULL; // Statement handle
20
21 ///declare UCHAR_sz
22 //UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "SQL_DAT";
23 //UCHAR szUID[9] = "SQLabc"; // User ID buffer
24 //UCHAR szPasswd[9] = "SQL123"; // Password buffer
25 UCHAR szModel[128]; // Model buffer
26 UCHAR szSqlStr[128]= "select build_date_no from DATECTL";
27
28 ///Var
29 SDWORD cbModel;
30 RETCODE retcode;
31 //char* buf="abc";
32
33 ///File_Var
34 FILE *outfile;
35
36 ///Open outfile
37 outfile=fopen("mid.txt","wb");
38
39 ///SQL alloc memory
40 SQLAllocEnv (&hEnv); // Allocate memory for ODBC Environment handle
41
42 ///SQL alloc connect
43 SQLAllocConnect (hEnv, &hDBC); // Allocate memory for the connection handle
44
45 ///SQLDriver connect
46 SQLTCHAR *srv = (SQLTCHAR *)"SERVER=10.11.168.100;DSN=SQL_DAT;UID=SQLabc;PWD=SQL123";
47 retcode = SQLDriverConnect(hDBC, NULL, srv, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_NOPROMPT);
48
49 ///if retcode =0_or_1
50 if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
51 {
52 ///SQL alloc statement
53 retcode = SQLAllocStmt (hDBC, &hStmt); // Allocate memory for the statement handle
54 fputc(retcode,outfile);
55
56 ///SQL prepare
57 retcode = SQLPrepare (hStmt, szSqlStr, sizeof (szSqlStr)); // Prepare the SQL statement by assigning it to the statement handle
58 fputc(retcode,outfile);
59
60 ///SQL execute
61 retcode = SQLExecute (hStmt);// Execute the SQL statement handle
62 fputc(retcode,outfile);
63
64 ///Temp declare
65 #define NAME_LEN 10
66 SQLINTEGER sCustID, cbName, cbAge, cbBirthday,xyz ;
67 SQLCHAR szName[NAME_LEN];
68 char sbuf[10];
69
70 ///SQL fetch
71 retcode = SQLFetch(hStmt);
72
73 ///SQL getdata
74 SQLGetData(hStmt,1, SQL_C_CHAR, szName, NAME_LEN, &xyz);
75
76 ///OutFile
77 fputc(retcode,outfile);
78 //fprintf(outfile, "%s", szName );
79 sprintf(sbuf, "%s", szName );
80 fprintf(outfile, "%s", sbuf );
81
82 ///Display
83 MessageBox(NULL, sbuf, "Date in DMY format", MB_OK);
84
85 ///SQL bindcol
86 SQLBindCol (hStmt, 1, SQL_C_CHAR, szModel, sizeof(szModel), &cbModel);// Project only column 1 which is the models
87
88 ///SQL fetch
89 retcode = SQLFetch (hStmt);// Get row of data from the result set defined above in the statement
90
91 ///OutFile
92 fputc(retcode,outfile);
93
94 ///SQL free statement
95 SQLFreeStmt (hStmt, SQL_DROP);// Free the allocated statement handle
96
97 ///SQL disconnect
98 SQLDisconnect (hDBC);// Disconnect from datasource
99
100 ///+
101 }//end if
102
103 ///else= FALSE
104 else
105 {
106 ///Write "ng"
107 fprintf(outfile,"ng");
108
109 ///+
110 }//end else
111
112 ///OutFile
113 std::cout << retcode << "\n";
114 fputc(retcode,outfile);
115
116 ///Close outfile
117 fclose(outfile);
118
119 ///SQL free connect
120 SQLFreeConnect (hDBC);// Free the allocated connection handle
121
122 ///SQL free_env
123 SQLFreeEnv (hEnv);// Free the allocated ODBC environment handle
124
125 ///main_end
126 return 0;
127 } //main_end
128
This Blog is dedicated to Sir Johnson Lin
Sample C program to fetch data from SQL database 使用C語言程式讀取資料庫內容
@ 下載程式碼 Download source code
標籤:
data source,
database,
fetch,
SQL
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言