|
I've only worked with very simple DBs in C++/MFC to date, mostly having 1 table, but I've been having trouble with a 3-table DB for a couple of days. The App Wizard creates one recordset, accessed via m_pSet, which contains all fields from all tables. This opens the recordset well enough, but when I change the m_strFilter value and requery to find a match on fields in just one of the tables I get an error that isn't defined anywhere I can locate (Too few arguments - 2 expected). The requery is the call that causes the error; everything else appears to work fine up to that point.
Would it be simpler (and perhaps smarter) to construct separate recordsets for each table, and do this operation on just the one table? These tables don't have to be joined; it's a very simple DB.
"Another day done - All targets met; all systems fully operational; all customers satisfied; all staff keen and well motivated; all pigs fed and ready to fly" - Jennie A.
|
|
|
|
|
U simply create ur application, without mentioning abt the
database support.
now create a new class whose base class is CRecordset.
and add the following header file #include "afxdb.h"
in the stdafx.h
|
|
|
|
|
Roger Wright wrote:
but when I change the m_strFilter value and requery to find a match on fields in just one of the tables
Before changing the m_strFilter, what has it been set to? I'm thinking that you may be 'breaking' the joining of the tables of the original query. I'm going out on a limb here, but I think you probably need to a new query/recordset together to fit your needs. Typically the requery method is used where you've changed the value associated with parameters and require the recordset to be fill with new data. Since you need to only query one of the tables, I'd recommend building another recordset just for that query.
Chris Meech
It's much easier to get rich telling people what they want to hear. Christopher Duncan
I can't help getting older, but I refuse to grow up. Roger Wright
I've been meaning to change my sig. Thanks! Alvaro Mendez
We're more like a hobbiest in a Home Depot drooling at all the shiny power tools, rather than a craftsman that makes the chair to an exacting level of comfort by measuring the customer's butt. Marc Clifton
|
|
|
|
|
Chris Meech wrote:
I'm thinking that you may be 'breaking' the joining of the tables of the original query.
That's my thinking, as well. When I think of a recordset, I picture something like a spreadsheet that I can scroll thru selecting rows as needed. When the wizard creates the initial recordset, it binds all the fields from all tables, even though one may have a thousand records, and another 6. That's gotta break something. When my requery asks for a record from the one table containing the two fields of interest, there's no guarantee that the other two tables will have anything in that particular row, so something's got to give. Thanks for the tip.
"Another day done - All targets met; all systems fully operational; all customers satisfied; all staff keen and well motivated; all pigs fed and ready to fly" - Jennie A.
|
|
|
|
|
In your CRecordset -derived class, make sure that the value of m_nFields matches exactly the number of RFX_xxx() calls in the DoDataExchange() method (these calls are preceded by a call to pFX->SetFieldType(CFieldExchange::outputColumn) ). This number must also match the number of columns actually being retrieved from the SELECT statement.
Now as far as m_strFilter goes, you'll also need to make sure that the value of m_nParams matches the number of '?' in m_strFilter , and that they are in the same order as the corresponding RFX_xxx() calls in the DoDataExchange() method (these calls are preceded by a call to pFX->SetFieldType(CFieldExchange::param) ).
Roger Wright wrote:
Would it be simpler (and perhaps smarter) to construct separate recordsets for each table, and do this operation on just the one table? These tables don't have to be joined; it's a very simple DB.
It's always better to not add unnecessary complexity to an application. If no JOINing is required, by all means don't do it!
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
I currently use the Visual C++ .NET 2002 Professional product.
Is it true that compiler optimizations are NOT available in this version??? They do appear to be grayed-out (disabled) in the project properties boxes.
PLUS, I'm considering upgrading to Visual C++ .NET 2003 Pro (their newest) BUT will only do so if compiler optimizations are then available. Does anyone know if this will be the case?
If I have to buy an "enterprise" version just to get compiler optimizations, I may be kicking the MS development environment off my PC!!!
|
|
|
|
|
Hehe
thanks to software piracy!! I bought VS.NET 2003 enterprise for just $5
+ i have never bought any software > $5
Muhammad Shoaib Khan
http://geocities.com/lansolution
|
|
|
|
|
M.Shoaib Khan wrote:
thanks to software piracy!! I bought VS.NET 2003 enterprise for just $5
And thanks to crooks like you, software prices stay inflated in order to pay for efforts to counter software piracy.
Sometimes I wonder why I bother .....
Chris Meech
It's much easier to get rich telling people what they want to hear. Christopher Duncan
I can't help getting older, but I refuse to grow up. Roger Wright
I've been meaning to change my sig. Thanks! Alvaro Mendez
We're more like a hobbiest in a Home Depot drooling at all the shiny power tools, rather than a craftsman that makes the chair to an exacting level of comfort by measuring the customer's butt. Marc Clifton
|
|
|
|
|
Chris Meech wrote:
And thanks to crooks like you..
Excuse me!! i am not a dishonest person...
its not my responsibility... YOU WONT BE ABLE TO FIND LICENSED COPY OF ANY SOFTWARE IN PAKISTAN EASILY (MAY BE THEY ARE AVAILABLE) BUT I HAVENT SEEN ANY SINGLE SUCH SHOP OVER HERE..
its responsibility of software vendor to provide licensed software in easy approach.. not mine to search for a licensed version of CD in my part of world. and btw there are NO SOFTWARE LAWS in Pakistan as yet (coming in few years).. so its legal. huh
Muhammad Shoaib Khan
http://geocities.com/lansolution
|
|
|
|
|
M.Shoaib Khan wrote:
... thanks to software piracy!! I bought VS.NET 2003 enterprise for just $5 + i have never bought any software > $5
... Excuse me!! i am not a dishonest person...
You admit purchasing stolen software and then claim to be an honest person. Your twisted logic escapes me.
Chris Meech
It's much easier to get rich telling people what they want to hear. Christopher Duncan
I can't help getting older, but I refuse to grow up. Roger Wright
I've been meaning to change my sig. Thanks! Alvaro Mendez
We're more like a hobbiest in a Home Depot drooling at all the shiny power tools, rather than a craftsman that makes the chair to an exacting level of comfort by measuring the customer's butt. Marc Clifton
|
|
|
|
|
The 2002 Professional product includes the optimizing compiler. The non-optimizing compiler is only shipped with the "Standard" edition, and the .NET Framework SDK.
Same for 2003 versions - "Professional" is what you need.
Which options are greyed out? What type of application are you building (.NET, Windows, .exe, .dll, etc.?)
Nick Hodapp
This posting is provided “AS IS” with no warranties, and confers no rights. You assume all risk for your use. © 2003 Microsoft Corporation. All rights reserved.
|
|
|
|
|
One other thing - at the command line you can determine if you have the optimizing or non optimizing compiler -- just type cl /? to see the banner. Mine reports:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3052 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
Nick Hodapp
This posting is provided “AS IS” with no warranties, and confers no rights. You assume all risk for your use. © 2003 Microsoft Corporation. All rights reserved.
|
|
|
|
|
My bad... Yes, it is the "standard" version unfortunately.
Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for 80x86
Copyright (C) Microsoft Corporation 1984-2001. All rights reserved.
Dern it!!
BTW, notice the d!psh!t bragging about piracy? What does she expect us to say?? Congratulations thief?!?
Probably a poor driver too who doesn't realize that her accidents raise the insurance rates for EVERYONE...
|
|
|
|
|
// Load Process
HANDLE hBitmap;
hBitmap = ::LoadImage( GetModuleHandle( rvl_null ), pathFileName, IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE );
m_pBitmaps[ i ].Attach( hBitmap ); // m_pBitmaps is an array of CBitmap
//////////////////////
CStatic* pImageCtrl = rvl_null;
pImageCtrl = ( CStatic* ) GetDlgItem( IDC_NEWMAP_DIALOG_IMAGE );
pImageCtrl->SetBitmap( HBITMAP( m_pBitmaps[ 0 ] ) );
I'm using this piece of code to place a bitmap inside a static control but it's not working as it should. What i'm doing wrong ?
PS: Bitmaps are loaded from file.
Thanks
|
|
|
|
|
You should pick Bitmap Type in Picture properties.
Hello World!
|
|
|
|
|
I didnt choose to enable print support when I created my project but now want to add it. Is it possible at this late stage or do I recreate from the start?
Thanks,
ns
|
|
|
|
|
You can add the necessary code at any point, but I would recommend creating a temporary project with AppWizard and copy the necessary code over to your current project. That way it will look like AppWizard created it from the start.
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
thanks. I guess I will have to windiff the files in the projects and see what gets added on....
|
|
|
|
|
I've been looking around for a good tutorial on the basics of building a screen saver in C++ and without MFC.
I already have my EXE built; I just need to know how to make it work as an SCR. I know it needs to run in different modes like configure, test, preview, etc, but I don't know how to do this.
If anyone can point me to a good (or even semi-good) tutorial on this I would greatly appreciate it.
Thanks for your time.
-Cactus Joe
|
|
|
|
|
MSDN samples contains full implementation of a screen saver.
Programming is an art not a skill, every one can be a skilled programmer but not an artist.
|
|
|
|
|
*Smacks forehead*
Why did I not check there in first place...?
Thanks!
|
|
|
|
|
I want to know how can I write a program based on Dialog Application, when it display another dialog, the dialog will fit the based dialog just like SDI/MDI's new files fitting in their parent window???
|
|
|
|
|
You want something like...
BOOL CMyPopupDlg::OnInitDialog ()
{
...
CWnd *pParent = GetParent ();
if (pParent)
{
CRect rc;
pParent->GetWindowRect (&rc);
SetWindowPos (NULL, rc.left, rc.top, rc.Width (), rc.Height (), SWP_NOZORDER);
}
...
return CDialog::OnInitDialog ();
}
I hope that helps,
Iain.
|
|
|
|
|
i guess setting the child windows with WS_CHILD style will do the trick, didnt test it, but i guess thats what it is.
Programming is an art not a skill, every one can be a skilled programmer but not an artist.
|
|
|
|
|
Hi all,
I want to distribute my applications to others, but at the same time i want to make sure that it will run for the say N Days only. Can anyone give any direction to start. My application is Win32 Application and i am using MSVC 6.0
Thanks in advance.
AL
|
|
|
|