第一次操作vc,只要求解决问题,不求甚解。:),被迫用vc做个接口而已。
在我的编程思路里,在操作记录集过程,都可以执行语句,而在VC里却不行。
我的以前做的asp是这样的:
set conn = server.createObject( "ADODB.Connection" )
set rs = server.CreateObject( "ADODB.Recordset" )
conn.open "..."
rs.open "select * from table1",conn
do while not rs.eof
          conn.execute( "insert into table2 values ('"&rs("col1")&"')" );
rs.movenext
loop
rs.close
conn.close-------------------------------------------------------------------------------------
而在vc中不行啦,出现不能占用同一个连接的问题,而我另外再建立CDatabase 都不行,不知道怎么回事,各位大侠,可以就我的程序给我一个解决的方法吗?
CDatabase m_dbPostGre;int nRetVal;       nRetVal = m_dbPostGre.OpenEx( _T( "DSN=;UID=;PWD=;" ),CDatabase::openReadOnly | CDatabase::noOdbcDialog );
   
       if ( nRetVal )
       {
              //AfxMessageBox( _T( "连接数据库成功!" ) );
       }    CRecordset recordset( &m_dbPostGre );
       CString strSQL = _T( "select top 20 * from send_gzcy" );
       recordset.Open( CRecordset::forwardOnly, strSQL, CRecordset::readOnly );    CDBVariant var_idd;
   CDBVariant var_send_num;
   CDBVariant var_content;
   CString send_num("");
   CString content("");    CString sqlstr("");
   int idd;
       while ( !recordset.IsEOF() )
       {
  recordset.GetFieldValue( _T("idd"), var_idd );
  idd=var_idd.m_iVal;
              recordset.GetFieldValue( _T("send_num"), var_send_num );
  send_num=*var_send_num.m_pstring;
  recordset.GetFieldValue( _T("content"), var_content );
  content=*var_content.m_pstring;
  sqlstr.Format(_T("insert into send_gzcy_h select *,%u,%u,%u from send_gzcy where idd=%ld delete from send_gzcy where idd=%ld"),&seq1,&seq2,&seq3,idd,idd); m_conn.ExecuteSQL(_T(sqlstr)); //这里不行,说占用了同一个连接              recordset.MoveNext();
       }