- 论坛徽章:
- 0
|
程序如下:
#include <windows.h>;
#include <stdio.h>;
#include <string.h>;
#include <odbcinst.h>;
int main()
{
// Declare The Local Memory Variables
SQLHANDLE EnvHandle = 0;
SQLHANDLE ConHandle = 0;
SQLHANDLE StmtHandle = 0;
SQLRETURN RetCode = SQL_SUCCESS;
SQLCHAR SQLStmt[255];
/*-----------------------------------------------------*/
/* INITIALIZATION */
/*-----------------------------------------------------*/
// Allocate A Connection Handle
if (EnvHandle != 0)
SQLAllocHandle(SQL_HANDLE_DBC, EnvHandle,
&ConHandle);
// Connect To The Appropriate Data Source
if (ConHandle != 0)
RetCode = SQLConnect(ConHandle, (SQLCHAR *) "myodbc",
SQL_NTS, (SQLCHAR *) "root",
SQL_NTS, (SQLCHAR *) "mysql",
SQL_NTS);
/*-----------------------------------------------------*/
/* TRANSACTION PROCESSING */
/*-----------------------------------------------------*/
// Allocate An SQL Statement Handle
if (ConHandle != 0 && RetCode == SQL_SUCCESS)
SQLAllocHandle(SQL_HANDLE_STMT, ConHandle,
&StmtHandle);
// Define A SELECT SQL Statement That Uses A Parameter
// Marker
strcpy((char *) SQLStmt, "insert into b values('hello')" ;
// Prepare The SQL Statement
RetCode = SQLPrepare(StmtHandle, SQLStmt, SQL_NTS);
// Bind The Parameter Marker Used In The SQL Statement To
// An Application Variable
//RetCode = SQLBindParameter(StmtHandle, 1,
// SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR,
// sizeof(JobType), 0, JobType,
// sizeof(JobTyp e), NULL);
// Populate The "Bound" Application Variable
//strcpy((char *) JobType, "DESIGNER" ;
// Execute The SQL Statement
RetCode = SQLExecute(StmtHandle);
// If The SQL Statement Executed Successfully, Retrieve
// The Results
/*if (RetCode == SQL_SUCCESS)
{
// Bind The Columns In The Result Data Set Returned
// To Application Variables
SQLBindCol(StmtHandle, 1, SQL_C_CHAR, (SQLPOINTER)
EmpNo, sizeof(EmpNo), NULL);
SQLBindCol(StmtHandle, 2, SQL_C_CHAR, (SQLPOINTER)
LastName, sizeof(LastName), NULL);
// While There Are Records In The Result Data Set
// Produced, Retrieve And Display Them
while (RetCode != SQL_NO_DATA)
{
RetCode = SQLFetch(StmtHandle);
if (RetCode != SQL_NO_DATA)
printf("%-8s %s\n", EmpNo, LastName);
}
}*/
// Commit The Transaction
RetCode = SQLEndTran(SQL_HANDLE_DBC, ConHandle,
SQL_COMMIT);
// Free The SQL Statement Handle
if (StmtHandle != 0)
SQLFreeHandle(SQL_HANDLE_STMT, StmtHandle);
/*-----------------------------------------------------*/
/* TERMINATION */
/*-----------------------------------------------------*/
// Terminate The Data Source Connection
if (ConHandle != 0)
RetCode = SQLDisconnect(ConHandle);
// Free The Connection Handle
if (ConHandle != 0)
SQLFreeHandle(SQL_HANDLE_DBC, ConHandle);
// Free The Environment Handle
if (EnvHandle != 0)
SQLFreeHandle(SQL_HANDLE_ENV, EnvHandle);
// Return Control To The Operating System
return(0);
}
编译执行都通过,可就是没有插入行,高手能教我则么做吗?
急,在线等。 |
|