我用VC++ 6.0创建MFC单文本框连接ODBC数据库,SQL SEVER 2000驱动;
单纯使用MFC自动连接数据库,代码全部自动生成,我未添加任何代码,可以编译,不过运行出现错误,如图。
本来刚开始是可以连通,运行操作都无错,但是后来不知道发生了什么事(也许是我升级了SQL SERVER SP4的原因,不过我全部重装了,连VC我都重装了),还是不能正常使用!
有人说是版本问题,VS2008能正常使用,本来打算用VS2008的,但是,现在连2008都不能用了,真棘手啊。
麻烦各位高手帮个忙,问题解决了, 再追加200~~!
如果之前正常,不一定是你程序的错,是升级到SP4后的一些bug,不一定每台服务器都会出现,但案例也不少。
首先你试试在其它机运行cmd,然后在控制台中输入:
telnet sql服务器地址 sql端口 例如:telnet 192.168.0.1 1433
如果出现什么都没有的黑色屏幕,那就说明网络和sql服务器没问题,是你程序的问题。
如果出现错误信息,就是SQL服务或网络问题,程序问题可以排除。
文件函数内容:
void CRecordset::InitRecord()
{if(m_nFields!=0)
{ m_nFieldsBound=BindFieldsToColumns();
ASSERT ((int)m_nFileds==m_nFiledsBound); 此行是2979
if(m_nFields>0&&m_bCheckCacheForDirtyFields)
AllocDataCache();}
else
m_FieldsBound=-1;
}
http://msdn.microsoft.com/en-us/library/t615cz80%28VS.80%29.aspx
This number must correspond to the number of "output columns" registered in DoFieldExchange or DoBulkFieldExchange after a call to SetFieldType with the parameter CFieldExchange::outputColumn.
你不会改了数据库结构把
用VC2005---MFC比较简单点````6.0有点复杂了 你找有关书籍看吧 说了一大堆你在不明白!