| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 
 | private: System::Void button1_Click_1(System::Object^  sender, System::EventArgs^  e) {
			SQLHANDLE hEnv; // ODBC Environment handle
			SQLHANDLE hDbc; // ODBC Connection handle
			SQLHANDLE hStmt; // ODBC Statement handle
			SQLRETURN status;
			SQLSMALLINT   i, MsgLen;
			SQLWCHAR       SqlState[6], Msg[SQL_MAX_MESSAGE_LENGTH];
			SQLINTEGER    NativeError;
 
			status = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
			status = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
			status = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
			status = SQLConnect(hDbc,(SQLWCHAR *) "MONPC\SQLEXPRESS", 16, (SQLWCHAR *)"MONPC\MONLOGIN", 14, (SQLWCHAR *)"", 0);
			i = 1;
			status = SQLGetDiagRec(SQL_HANDLE_STMT, hStmt, i, SqlState, &NativeError, Msg, sizeof(Msg), &MsgLen);
 
			status = SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt);
			status = SQLSetStmtAttr(hStmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER) SQL_CURSOR_STATIC, 0);
			status = SQLExecDirec	t(hStmt, (SQLWCHAR*) "Select * from Amateurs", (SQLINTEGER) 22);
			int rowcnt;						// variable to hold row count
			rowcnt = 0;						// initialize row counter
			while (true && rowcnt<100)						// loop forever
			{
				status = (SQLRETURN)SQLFetch(hStmt);			// fetch a row of data
				if (status == SQL_NO_DATA_FOUND) break;		// if No Data was returned then exit the loop
				rowcnt++;					// add 1 to the row counter
			}
			printf("There were %d rows of data returned by the SQL Statement.\r\n", rowcnt);
			status = SQLCloseCursor(hStmt);
			if (status == SQL_SUCCESS || status == SQL_SUCCESS_WITH_INFO) {
			}
			else {
				printf("Error with SQLCloseCursor...\r\n");
			}
			status = SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
			status = SQLDisconnect(hDbc);
			status = SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
			status = SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
		 } |