strSQL.Format("select * from person where ID=%d",m_ID);
CRecordset recset(&db);
recset.Open(CRecordset::forwardOnly, strSQL, CRecordset::readOnly);
if(recset.IsEOF())
MessageBox("无此人");
else
{
recset.GetFieldValue("DEPARTMENT",department);
recset.GetFieldValue("JOB",job);
strSQL.Format("update person set DEPARTMENT='%s',JOB='%s' where id=%d"
,m_DEPARTMENT,m_JOB,m_ID);
db.ExecuteSQL(strSQL);
strSQL="insert into person(ID,YUANDEPARTMENT,NEWDEPARTMENT,YUANJOB,NEWJOB) values ('"+m_ID+"','department','"+m_DEPARTMENT+"','job','"+m_JOB+"')";前面定义了STRING department job 但是执行时候说cannot add two pointers的错误,菜鸟一个,请问大家字符串的变量应该怎么写到里面, 谢谢大家了
CRecordset recset(&db);
recset.Open(CRecordset::forwardOnly, strSQL, CRecordset::readOnly);
if(recset.IsEOF())
MessageBox("无此人");
else
{
recset.GetFieldValue("DEPARTMENT",department);
recset.GetFieldValue("JOB",job);
strSQL.Format("update person set DEPARTMENT='%s',JOB='%s' where id=%d"
,m_DEPARTMENT,m_JOB,m_ID);
db.ExecuteSQL(strSQL);
strSQL="insert into person(ID,YUANDEPARTMENT,NEWDEPARTMENT,YUANJOB,NEWJOB) values ('"+m_ID+"','department','"+m_DEPARTMENT+"','job','"+m_JOB+"')";前面定义了STRING department job 但是执行时候说cannot add two pointers的错误,菜鸟一个,请问大家字符串的变量应该怎么写到里面, 谢谢大家了
解决方案 »
- 非域环境如何只使用USB Key绕过windows的密码验证机制登录系统?
- 关于WH_GETMESSAGE钩子
- Q:问一个最简单的问题 【别笑话】
- 讨论个问题 有没有做cdc画图从右边向左边画
- wsasend()wsarecv()在什么情况下会返回非ERROR_IO_PINDING错误?
- 扫描端口,请求帮助!
- 单文档程序添加新的对话框,并新建对话框类,如何为这个对话框建立与Access数据库的ODBC连接,可在编辑框中向数据表中插入、删除、修改数据?哪有简单的源代码?
- 各位大侠江湖告急!
- 如何判别一个DLL文件是否是COM组件?
- 是不是重复包含引起的,该怎么解决呢?
- 读文件及数组使用问题
- Flash控件中怎样判断一个FLASH已经播放完毕?
// do not load the cursor library
CDatabase db;
db.OpenEx( NULL, CDatabase::forceOdbcDialog );// Create and open a recordset object
// directly from CRecordset. Note that a
// table must exist in a connected database.
// Use forwardOnly type recordset for best
// performance, since only MoveNext is required
CRecordset rs( &db );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT * FROM SomeTable" ) );// Create a CDBVariant object to
// store field data
CDBVariant varValue;// Loop through the recordset,
// using GetFieldValue and
// GetODBCFieldCount to retrieve
// data in all columns
short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue );
// do something with varValue
}
rs.MoveNext( );
}rs.Close( );
db.Close( );
MSDN上的例子
strSQL="insert into person(ID,YUANDEPARTMENT,NEWDEPARTMENT,YUANJOB,NEWJOB) values ('"+m_ID+"','department','"+m_DEPARTMENT+"','job','"+m_JOB+"')";将=号后面的强制类型转换一下试试。
你的STRING可能是TCHAR*的。
编译器就是提示你把两个字符串指针进行相加了。