跪下求助.MFC的ODBC.CDatabase:open异常

跪下求助.MFC的ODBC.CDatabase:open异常,第1张

这样就对了,要加sql语句的

CDatabase m_db

CRecordset *m_pReset = NULL

try{

// 数据库代码

if(!m_db.OpenEx(_T("DSN=Xtreme Sample Database 2008 CHS"), CDatabase::openReadOnly|CDatabase::noOdbcDialog)) return

//if(!m_db.Open(_T("Xtreme Sample Database 2008 CHS")))

//return

if(m_pReset==NULL)

m_pReset=new CRecordset()

m_pReset->m_pDatabase=&m_db

if(!m_pReset->Open(CRecordset::snapshot,_T( "Select * from 财务" ) ))

{

AfxMessageBox(_T("get recordset faild!"))

return

}

}

catch(CDBException* pEx)

{

pEx->ReportError()

pEx->Delete()

}

m_pReset->Close()

m_db.Close()

#include <iostream>

#include <stdio.h>

#include "/home/mysql/include/mysql.h"

int main()

{

MYSQL mysql

MYSQL_RES *result=NULL

MYSQL_FIELD *field=NULL

mysql_init(&mysql)

mysql_real_connect(&mysql, "localhost", "root", "neusoft", "test", 3306, NULL, 0)

// string sql = "create table a1(col int)"

// mysql_query(&mysql,"insert into a values(3)")

mysql_query(&mysql,"select col from a")

result=mysql_store_result(&mysql)

int fieldcount = mysql_num_fields(result)

MYSQL_ROW row

row = mysql_fetch_row(result)

while(NULL != row)

{

for(int i=0i<fieldcounti++)

{

//field=mysql_fetch_field_direct(result,i)

//printf("%s",row[i])

std::cout<<row[i]<<std::endl

}

//std::cout<<std::endl

row = mysql_fetch_row(result)

}

//mysql_query(&mysql,sql.c_str())

mysql_close(&mysql)

}

这是我成功 *** 作的代码。。。。。

当务之急是要解决为什么会出现这么多的trc文件,这需要具体看alert日志文件(C:\oracle\app\oracle\admin\XE\bdump\alertxe.log)和部分trc文件,希望能上传一下,没有这些起码的信息是无法判断原因的,在找到具体原因之前,可以把这个dump文件产生位置改个地方,比如你机器上有另外一个空间比较大的d盘,d盘满了起码不会影响你数据库的运行,具体办法:

cmd命令行窗口

sqlplus "/as sysdba"

alter system set BACKGROUND_DUMP_DEST='d:\xxx'

这个命令之前要保证d:\xxx存在

期待你的alert日志和trc文件上传


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10029260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存