代码如下:
void MyODBCAPI::InsertCustomer(CString CustomerID, CString CompanyName)
{// 插入客户信息
if (!Connect("Test", "sa", "sa"))
{
msg = "连接数据源失败\n";
return;
}
CString sql;/*(CompanyName, ContactName)*/
sql.Format("Insert into Customers VALUES('%s', '%s')", CustomerID, CompanyName);
if (!ExecSQL(sql))
{
msg = "插入客户信息失败\n";
return;
}
msg = "插入客户信息成功.SQL=" + sql;
return;
}
BOOL MyODBCAPI::ExecSQL(CString sql)
{
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); // 分配语句句柄
if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode = SQLExecDirect(hstmt, (SQLTCHAR*)(LPCTSTR)sql, sql.GetLength());
if  (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
msg = "执行SQL语句成功";
return TRUE;
}
else
{
msg = "执行SQL语句失败";
return FALSE;
}
}
else 
{
msg = "分配语句句柄失败";
return FALSE;
}
}数据库可以连接的上!查询操作也是可以的,但是一插入数据就报错。(SQLExecDirect返回-1),这是什么问题啊?愁死我了