数据源注册采用DLL方法的SQLConfigDataSource 然后添加下面的代码:
CDatabase m_db;
m_db.Open(NULL,FALSE,FALSE,_T("db"),TRUE);//连接数据库
CMySet m_set(&m_db);
if(m_set.IsOpen())
m_set.Close();
m_set.Open(); //打开数据库
m_set.AddNew(); //添加记录
UpdateData(true);
m_set.m_NO=m_no;
m_set.m_NAME=m_name;
m_set.m_AGE=m_age;
m_set.Update();
m_set.Requery(); 数据项也已经绑定:
RFX_Text(pFX,_T("[NO]"),m_NO);
RFX_Text(pFX,_T("[NAME]"),m_NAME);
RFX_Int(pFX,_T("[AGE]"),m_AGE); 编译连接没有错误,第一次运行程序意外终止,以后的编译连接就会出错。错误代码为:
LINK : fatal error LNK1168: cannot open Debug/Db2.exe for writing 请问我的代码哪里出了问题?
CDatabase m_db;
m_db.Open(NULL,FALSE,FALSE,_T("db"),TRUE);//连接数据库
CMySet m_set(&m_db);
if(m_set.IsOpen())
m_set.Close();
m_set.Open(); //打开数据库
m_set.AddNew(); //添加记录
UpdateData(true);
m_set.m_NO=m_no;
m_set.m_NAME=m_name;
m_set.m_AGE=m_age;
m_set.Update();
m_set.Requery(); 数据项也已经绑定:
RFX_Text(pFX,_T("[NO]"),m_NO);
RFX_Text(pFX,_T("[NAME]"),m_NAME);
RFX_Int(pFX,_T("[AGE]"),m_AGE); 编译连接没有错误,第一次运行程序意外终止,以后的编译连接就会出错。错误代码为:
LINK : fatal error LNK1168: cannot open Debug/Db2.exe for writing 请问我的代码哪里出了问题?
解决方案 »
- xml文件被锁定,不能通过IXMLDocment接口的save方法修改保存
- VC6 下如何调用 VC2008或VC2005写的dll?
- 用Matcom实现VC与MATLAB的BUG?请帮忙!
- 在线急等,如何在console程序中查找内存泄漏,可以多给分
- 请教:谁写过/知道用C++给interbase写dll,我用C可以写.
- 简单问题:::关于CListCtrl怎么样实现这样的选择功能!!!
- release和debug版的区别?
- 请问这种错误
- 30分的问题
- 跪求 <atl开发指南>电子书,急!!
- 关于jpeg
- vc操作word. 为什么 CreateDispatch("Word.Application")总是失败。
我看过任务管理器,进程列表中没有db2。exe的进程。
void CRecordset::BuildSelectSQL()
{
ASSERT_VALID(this);
ASSERT(m_hstmt != SQL_NULL_HSTMT); // Ignore queries with procedure call keyword or output param
if (!(_tcsnicmp(m_strSQL, _afxCall, lstrlen(_afxCall)-1) == 0 ||
_tcsnicmp(m_strSQL, _afxParamCall, lstrlen(_afxParamCall)-1) == 0))
{
// Ignore queries already built
if (_tcsnicmp(m_strSQL, _afxSelect, lstrlen(_afxSelect)-1) != 0)
{
// Assume m_strSQL specifies table name
ASSERT(m_nFields != 0);//*错误的地方*// CString strTableName;
strTableName = m_strSQL;
m_strSQL.Empty();
m_strSQL = _afxSelect; // Set all fields dirty. AppendNames only outputs dirty field names
SetFieldDirty(NULL);
if (AppendNames(&m_strSQL, _T(",")) == 0)
{
TRACE0("Error: no field names - at least 1 required.\n");
ThrowDBException(AFX_SQL_ERROR_EMPTY_COLUMN_LIST);
} // Overwrite final ',' separator with ' '
ASSERT(m_strSQL[m_strSQL.GetLength()-1] == ',');
m_strSQL.SetAt(m_strSQL.GetLength()-1, ' '); m_strSQL += _afxFrom;
m_strSQL += strTableName;
}
}
}
还有MessageBox()/AfxMessageBox()测试输出有关信息,很有帮助的。
CMySet 里有没有设定m_nFields的值?