|
I think you have to investigate the CreateParameter and Parameters members of Command object.
I suppose you have to use "@url " in the command text, and then use something like this:
_ParameterPtr param = m_pCommand->CreateParameter("url", adVarChar, adParamInput, url.length(), url.c_str());
m_pCommand-> Parameters->Append(param);
This is just my guess.
|
|
|
|
|
Below given is the fixed code. Copy this and try.
<br />
CString url="asdf";<br />
_Commandptr m_pCommand;<br />
m_pCommand.CreateInstance(__uuidof(Command));<br />
<br />
CString strSql = _T("INSERT INTO wcs(URL,Object_size,No_of_accesses,Transfer_cost,Group_no,Hvalue,Location) VALUES('") + url + _T("',7,6,8,'hi')");<br />
<br />
m_pCommand->CommandText = _bastr_t(strSql);<br />
<br />
m_pCommand->CommandType=adCmdText;<br />
m_pCommand->ActiveConnection = m_pConnection;<br />
_variant_t vRecords;<br />
m_pCommand->Execute(&vRecords,NULL,adCmdText);
cheers...milton kb
|
|
|
|
|
cheeeeeeeeeerrrrrrrrrssss.....thanx a bunch...it worked...
|
|
|
|
|
Please note that the solution based on string concatenation sometime will give SQL errors, in another cases will allow someone to manipulate your database in un-authorized manner.
For instance, suppose the url variable is a string that is entered by the user. If he/shi enters "http://www.codeproject.com" everything is fine, but if enter "http://www.codeproject.com?user=’abc’", then your insert operation will fail. (Guess why).
If the user enters something like "’,1,2,3,’bad string’) --", then instead of your 7, 6, 8 and 'hi' values, database will be filled with 1, 2, 3 and ’bad string’ values.
This technique is called SQL injection. It can allow bad people to discover private information like passwords, or even delete the entire database.
You can read about this here:
|
|
|
|
|
How to obtain file header for a file ?
Thanks in advance
Rin
|
|
|
|
|
|
|
There is no such thing as a general file header!
There are general file attributes, you can get them with GetFileSize(), GetFileType(), GetFileTime() e.t.c.
Another thing is that files used by certain applications can have a file header. In that case, the header is specific to the application that created the file in question.
|
|
|
|
|
|
|
This trouble is fixed, thanks kakan
|
|
|
|
|
How can i change the dialog box background color dynamically.
|
|
|
|
|
you ca use WM_CTLCOLOR or WM_PAINT
whitesky
|
|
|
|
|
But i want to chage the background depending on the color specified dynamically. I am getting an exception when i post the WM_CTLCOLOR message .
Thanks for ur reply,
|
|
|
|
|
i guess you getting exception because use a brush,yes?
see here maybe it is some helpful to you
<br />
void CAnswerDlg::OnPaint()<br />
{<br />
CPaintDC dc(this);
dc.FillSolidRect(0,0,GetSystemMetrics (SM_CXSCREEN),GetSystemMetrics (SM_CYSCREEN),<br />
RGB(53,97,200));<br />
}<br />
--------------<br />
HBRUSH CAnswerDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)<br />
{<br />
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);<br />
return (HBRUSH)GetStockObject(WHITE_BRUSH);<br />
}<br />
<br />
whitesky
|
|
|
|
|
The code was working fine.
But the controls like edit box etc.. are not visible bcoz of FillSolidRect(). How can i solve this problem
|
|
|
|
|
Are you sure i test your problem but these are visible i used this code
(editbox,button,radio,..)are visible
<br />
COLORREF Color;<br />
Color=GetDC()->GetBkColor();<br />
....<br />
....<br />
void CAnswerDlg::OnPaint()<br />
{<br />
CPaintDC dc(this);
dc.FillSolidRect(0,0,GetSystemMetrics (SM_CXSCREEN),GetSystemMetrics (SM_CYSCREEN),<br />
Color);<br />
}<br />
<br />
void CAnswerDlg::OnBnClickedButton1()<br />
{<br />
Color=RGB(53,97,200);<br />
Invalidate();<br />
}<br />
whitesky
|
|
|
|
|
Though you could do it by these ways, HandlingWM_ERASEBKGND is the right one for it.
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[ ]--
[My Current Status]
|
|
|
|
|
but i want to know why he cant show controls its attract for me to find answer for this question (of course i need to see his code that how to use)
whitesky
|
|
|
|
|
My code is:
BOOL CSliderDlg::OnEraseBkgnd(CDC* pDC)
{
if(m_clr.GetPos()!=0)
{
int color=m_clr.GetPos();
COLORREF clr=RGB(color,color,color);
CRect rect;
GetClientRect(&rect);
pDC->FillSolidRect(&rect,clr);
}
return CDialog::OnEraseBkgnd(pDC);
}
I am calling this function from WM_HSCROLL handler.
m_clr is the slider ctrl.
If there is any mistake in my, let me that mistake.
Thanx.
|
|
|
|
|
this code it seems not problem i tested this code and it work fine of course without if(m_clr.GetPos()!=0) like this
<br />
BOOL CAnswerDlg::OnEraseBkgnd(CDC* pDC) <br />
{<br />
COLORREF clr=RGB(53,97,200);<br />
CRect rect;<br />
GetClientRect(&rect);<br />
pDC->FillSolidRect(&rect,clr);<br />
return TRUE; <br />
}
and controls are visible you can use WM_CTLCOLOR with a brush and it work and i think it good for you
whitesky
|
|
|
|
|
I want to change the back ground of dialog when i move the slider ctrl.
That's why i used int color=m_clr.GetPos();
Ths background of the dialog was changing but the controls are not visible.
|
|
|
|
|
Try this
CRect rc;<br />
GetClientRect(&rc);<br />
pDC->FillSolidRect(&rc, m_clrBack);
Appu..
"If you judge people, you have no time to love them."
|
|
|
|
|
|
I think the appropriate place to change the background colour of your dialog box is the handler for WM_ERASEBKGND notification. You can put here just two lines:
BOOL CMyDlg::OnEraseBkgnd(CDC* pDC)
{
pDC->FillRect(CRect(0,0,32000,32000), &CBrush(RGB(0,0,255)));
return TRUE;
}
If you need to vary the colour (or just to optimize the solution), make a CBrush member variable and use CreateSolidBrush to set the colour. You can use CreatePatternBrush or CreateHatchBrush to have another kind of background.
-- modified at 3:13 Friday 16th June, 2006
|
|
|
|