Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:odbc:examples:simpleselect [2009/12/06 03:26]
tdo
dev:odbc:examples:simpleselect [2016/06/28 22:38] (current)
Line 1: Line 1:
 {{page>:​top_add&​nofooter&​noeditbtn}} {{page>:​top_add&​nofooter&​noeditbtn}}
 <​html><​div align="​center"><​span style="​color:​red">​DRAFT</​span></​div></​html>​ <​html><​div align="​center"><​span style="​color:​red">​DRAFT</​span></​div></​html>​
-====== ODBC Simple SELECT ====== +====== ​C++ Omnidex ​ODBC Simple ​Connection/SELECT ====== 
-  * SQLConnect can only use System and Machine datasources+^ [[dev:home | Dev ]] ^ [[dev:​odbc:​examples:​simpleselect | C++ ]] ^ [[dev:​odbc:​examples:​csharp_simple_select |C# ]] ^ [[dev:​jdbc:​examples:​simpleselect | Java ]] ^ [[dev:​odbc:​examples:​php_select | PHP ]] ^ 
 +===== Quick Notes ===== 
 + 
 +  * SQLConnect can only use System and Machine datasources ​so use SQLDriverConnect.
   * SQLDriverConnect can use a Omnidex File DSN with the FILEDSN= prefix.   * SQLDriverConnect can use a Omnidex File DSN with the FILEDSN= prefix.
   * Make sure odxodbc.dll is in the c:​\Windows\system32 directory   * Make sure odxodbc.dll is in the c:​\Windows\system32 directory
   * Make sure an OdxNet process is running   * Make sure an OdxNet process is running
 +
 +===== C++ Sample Code =====
 +You can cut and paste this code and modify the the SQLDriverConnection call and the SELECT statement to test on your Omnidex Environment.
  
 <code C++> <code C++>
Line 22: Line 28:
   SQLHDBC hdbc;   SQLHDBC hdbc;
   SQLHSTMT hstmt;   SQLHSTMT hstmt;
-  SQLRETURN retcode; 
   char errormsg[255] = "​x";​   char errormsg[255] = "​x";​
   SQLCHAR * OutConnStr = (SQLCHAR * )malloc(255);​   SQLCHAR * OutConnStr = (SQLCHAR * )malloc(255);​
Line 29: Line 34:
   cout << "​OdxODBCConnectionTest"​ << endl;   cout << "​OdxODBCConnectionTest"​ << endl;
   // Allocate environment handle   // Allocate environment handle
-  ​retcode = SQLAllocHandle(SQL_HANDLE_ENV,​ SQL_NULL_HANDLE,​ &henv); +  ​if (SQLAllocHandle(SQL_HANDLE_ENV,​ SQL_NULL_HANDLE,​ &​henv) ​!= SQL_SUCCESS) 
-    cout << "Alloc ENV retcode:" ​<< retcode ​<< endl; +    cout << "sQLAllocHandle (ENV) Error" << endl; 
-  ​retcode = SQLSetEnvAttr(henv,​ SQL_ATTR_ODBC_VERSION,​ (void*)SQL_OV_ODBC2,​ 0) +  ​if (SQLSetEnvAttr(henv,​ SQL_ATTR_ODBC_VERSION,​ (void*)SQL_OV_ODBC2,​ 0) != SQL_SUCCESS) 
-    cout << "Set Env retcode: ​" ​<< retcode ​<< endl; + cout << "SQLSetEnvAttr Error" << endl; 
-  ​retcode = SQLAllocHandle(SQL_HANDLE_DBC,​ henv, &hdbc) +  ​if (SQLAllocHandle(SQL_HANDLE_DBC,​ henv, &​hdbc) ​!= SQL_SUCCESS) ​ 
-    cout << "Alloc hdbc retcode: ​" ​<< retcode ​<< endl; +    cout << "SQLAllocHandle (DBC) Error" << endl; 
-  ​retcode = SQLDriverConnect(hdbc,​ NULL,+  ​if (SQLDriverConnect(hdbc,​ NULL,
       ​(SQLCHAR*) "​FILEDSN=c:​\\dev\\odx\\tiny\\tiny.dsn",​ SQL_NTS,       ​(SQLCHAR*) "​FILEDSN=c:​\\dev\\odx\\tiny\\tiny.dsn",​ SQL_NTS,
- (SQLCHAR*) NULL, 0, NULL, 0); + (SQLCHAR*) NULL, 0, NULL, 0) != SQL_SUCCESS) ​ 
-  cout << "Connect retcode:" ​<< retcode ​<< endl; +  ​{  
-  if (retcode != SQL_SUCCESS) +     cout << "SQLDriverConnect Error:" << endl; 
-  { +     // If we get to here, display the SQLError message text to see what’s going on. 
-    retcode = SQLError(henv,​ hdbc, NULL, NULL , NULL, (SQLCHAR*) errormsg, sizeof(errormsg),​ NULL); +     ​SQLError(henv,​ hdbc, NULL, NULL , NULL, (SQLCHAR*) errormsg, sizeof(errormsg),​ NULL); 
-      cout  << errormsg << endl;+     ​cout  << errormsg << endl;
   }   }
-  ​retcode = SQLAllocHandle(SQL_HANDLE_STMT,​ hdbc, &hstmt) +  ​if (SQLAllocHandle(SQL_HANDLE_STMT,​ hdbc, &​hstmt) ​!= SQL_SUCCESS) ​ 
-  cout << "Alloc stmt:" ​<< retcode ​<< endl; +    cout << "SQLAllocHandle (STMT) Error" << endl; 
-  ​retcode = SQLExecDirect(hstmt,​ (SQLCHAR*) "​select mytext from table1 where mytext='​bears'",​ SQL_NTS); +  ​if (SQLExecDirect(hstmt, ​ 
-  cout << "Exec Direct retcode:" ​<< retcode ​<< endl; + (SQLCHAR*) "​select mytext from table1 where mytext='​bears'",​ SQL_NTS) ​!= SQL_SUCCESS) 
-  SQLCHAR mytext[60];​ +    cout << "ExecDirect Error" << endl; 
-  ​retcode = SQLBindCol(hstmt,​ 1, SQL_C_CHAR, (SQLPOINTER) &​mytext,​ +  SQLCHAR mytext[60]; ​ // Declare varable for the Bind. 
-    sizeof(mytext),​ NULL)+  ​if (SQLBindCol(hstmt,​ 1, SQL_C_CHAR, (SQLPOINTER) &​mytext,​ 
-  while (retcode==0+    sizeof(mytext),​ NULL) !SQL_SUCCESS
-  { + cout << "​SQLBindCol Error" << endl; 
-  ​retcode = SQLFetch(hstmt)+  ​while (SQLFetch(hstmt) == SQL_SUCCESS)
-  if (retcode ​== 0)+
     cout << mytext << endl;     cout << mytext << endl;
-  } 
   SQLFreeHandle(SQL_HANDLE_STMT,​ hstmt);   SQLFreeHandle(SQL_HANDLE_STMT,​ hstmt);
-  ​retcode = SQLDisconnect(hdbc);​+  ​if (SQLDisconnect(hdbc) ​!= SQL_SUCCESS) 
 + cout << "​SQLDisconnect Error" << endl;
   SQLFreeHandle(SQL_HANDLE_DBC,​ hdbc);   SQLFreeHandle(SQL_HANDLE_DBC,​ hdbc);
   SQLFreeHandle(SQL_HANDLE_ENV,​ henv);   SQLFreeHandle(SQL_HANDLE_ENV,​ henv);
   cout << "End of program."​ << endl;   cout << "End of program."​ << endl;
 } // end main } // end main
 +
 </​code>​ </​code>​
 {{page>:​bottom_add&​nofooter&​noeditbtn}} {{page>:​bottom_add&​nofooter&​noeditbtn}}
 
Back to top
dev/odbc/examples/simpleselect.1260070013.txt.gz · Last modified: 2016/06/28 22:38 (external edit)