Click here to Skip to main content
15,888,521 members
Home / Discussions / Database
   

Database

 
GeneralRe: selecting primary key from grid view Pin
Tirthadip30-Mar-07 2:39
Tirthadip30-Mar-07 2:39 
QuestionNeed Help In Query: Pin
Shahzad.Aslam30-Mar-07 0:44
Shahzad.Aslam30-Mar-07 0:44 
AnswerRe: Need Help In Query: Pin
Krish - KP30-Mar-07 1:00
Krish - KP30-Mar-07 1:00 
QuestionChange a field on all tabel ,, row by row ? Pin
kindman_nb30-Mar-07 0:33
kindman_nb30-Mar-07 0:33 
AnswerRe: Change a field on all tabel ,, row by row ? Pin
kubben30-Mar-07 2:19
kubben30-Mar-07 2:19 
GeneralRe: Change a field on all tabel ,, row by row ? Pin
kindman_nb30-Mar-07 2:32
kindman_nb30-Mar-07 2:32 
GeneralRe: Change a field on all tabel ,, row by row ? Pin
kubben30-Mar-07 2:36
kubben30-Mar-07 2:36 
Questionissue reading records from SQL CE 2005 Pin
vvr198329-Mar-07 23:15
vvr198329-Mar-07 23:15 
I have written a class for operating the SQLCE database with OLE DB, it work perfect on INSERT ,UPTDATE and so on, but when I use 'select' statement to get values from database it doesn’t return values properly even though the GetNextRows method succeeds.

HRESULT hr = NOERROR;
m_pIRowset = NULL;
m_prghRows = &m_rghRows[0];
hr = pICmdText->SetCommandText(DBGUID_SQL, pwszQuery);
if(!FAILED(hr))
{
hr = pICmdText->Execute(NULL, IID_IRowset, NULL, NULL, (IUnknown **)&m_pIRowset);
if (FAILED(hr)){
AfxMessageBox(_T("failed"));
m_pIRowset = NULL;
}
// Get IColumnsInfo interface
hr = m_pIRowset->QueryInterface(IID_IColumnsInfo, (void**)&m_pIColumnsInfo);
if(FAILED(hr)){
AfxMessageBox(_T("failed"));
}
// Get the column metadata m_ulNumCols//m_pDBColumnInfo
hr = m_pIColumnsInfo->GetColumnInfo(&m_ulNumCols, &m_pDBColumnInfo,&m_pStringsBuffer);
if(FAILED(hr) || 0 == m_ulNumCols){
AfxMessageBox(_T("failed"));
}
// Create a DBBINDING array.
m_dwBindingSize = m_ulNumCols;
m_prgBinding = (DBBINDING*)CoTaskMemAlloc(sizeof(DBBINDING)*m_dwBindingSize);
if (NULL == m_prgBinding){
hr = E_OUTOFMEMORY;
AfxMessageBox(_T("Memory allocation failure"));
}
// Set initial offset for binding position
m_dwOffset = 0;
// Prepare structures to create the accessor
UINT lCount;
ULONG dwOrdinal;
for (lCount = 0; lCount< m_ulNumCols; lCount++)
{
dwOrdinal = m_pDBColumnInfo[lCount].iOrdinal;
m_prgBinding[lCount].iOrdinal = dwOrdinal;
m_prgBinding[lCount].dwPart = DBPART_VALUE | DBPART_STATUS | DBPART_LENGTH;
m_prgBinding[lCount].obLength = m_dwOffset;
m_prgBinding[lCount].obStatus = m_prgBinding[lCount].obLength + sizeof(ULONG);
m_prgBinding[lCount].obValue = m_prgBinding[lCount].obStatus + sizeof(DBSTATUS);
m_prgBinding[lCount].wType = m_pDBColumnInfo[lCount].wType;
m_prgBinding[lCount].pTypeInfo = NULL;
m_prgBinding[lCount].pObject = NULL;
m_prgBinding[lCount].pBindExt = NULL;
m_prgBinding[lCount].dwMemOwner = DBMEMOWNER_CLIENTOWNED;
m_prgBinding[lCount].dwFlags = 0;
m_prgBinding[lCount].bPrecision = m_pDBColumnInfo[lCount].bPrecision;
m_prgBinding[lCount].bScale = m_pDBColumnInfo[lCount].bScale;
switch(m_prgBinding[lCount].wType){
case DBTYPE_WSTR:
m_prgBinding[lCount].cbMaxLen = sizeof(WCHAR)*(m_pDBColumnInfo[lCount].ulColumnSize + 1); // Extra buffer for null terminator
break;
default:
m_prgBinding[lCount].cbMaxLen = m_pDBColumnInfo[lCount].ulColumnSize;
break;
}
// Calculate the offset, and properly align it
m_dwOffset = m_prgBinding[lCount].obValue + m_prgBinding[lCount].cbMaxLen;
m_dwOffset = ROUND_UP(m_dwOffset, 8);
}
// Get IAccessor interface
hr = m_pIRowset->QueryInterface(IID_IAccessor, (void**)&m_pIAccessor);
if(FAILED(hr))
{
AfxMessageBox(_T("failed"));
}
// Create the accessor
//
hr = m_pIAccessor->CreateAccessor(DBACCESSOR_ROWDATA, m_dwBindingSize,
m_prgBinding, 0, &m_hAccessor,NULL);
if(FAILED(hr))
{
AfxMessageBox(_T("failed"));
}
// Allocate data buffer.
//
m_pData = (BYTE*)CoTaskMemAlloc(m_dwOffset);
if (NULL == m_pData)
{
hr = E_OUTOFMEMORY;
CString errors;
errors.Format(_T("%d"),m_pDBColumnInfo[2].ulColumnSize);
MessageBox(NULL,errors,NULL,MB_OK);
AfxMessageBox(_T("failed"));
}
// Retrive a row
//
hr = m_pIRowset->GetNextRows(DB_NULL_HCHAPTER, 0, 1, &m_cRowsObtained,&m_prghRows);
if (SUCCEEDED(hr) && hr != DB_S_ENDOFROWSET)
{
// Set data buffer to zero
//
memset(m_pData, 0, m_dwOffset);

// Fetch actual data
hr = m_pIRowset->GetData(m_prghRows[0], m_hAccessor, m_pData);

if (FAILED(hr))
{
m_pIRowset->ReleaseRows(1, m_prghRows, NULL, NULL, NULL);
AfxMessageBox(_T("failed"));
}
}
if (hr == DB_S_ENDOFROWSET)
{
m_bIsEOF = TRUE;
}
}

venkat
Questionremote connection Pin
marwan_siala29-Mar-07 23:14
marwan_siala29-Mar-07 23:14 
AnswerRe: remote connection Pin
andyharman30-Mar-07 6:12
professionalandyharman30-Mar-07 6:12 
QuestionGetting following error while running sql server 2000 report service setup Pin
mohd imran abdul aziz29-Mar-07 20:40
mohd imran abdul aziz29-Mar-07 20:40 
Questionxp_sendmail Pin
Navneet Hegde29-Mar-07 20:31
Navneet Hegde29-Mar-07 20:31 
QuestionDTS Pin
Mkanchha29-Mar-07 19:30
Mkanchha29-Mar-07 19:30 
AnswerRe: DTS Pin
andyharman29-Mar-07 22:51
professionalandyharman29-Mar-07 22:51 
QuestionData transfer Pin
keroed_edmond29-Mar-07 17:57
keroed_edmond29-Mar-07 17:57 
AnswerRe: Data transfer Pin
Chetan Patel29-Mar-07 20:55
Chetan Patel29-Mar-07 20:55 
QuestionGetting the connection string Pin
dptalt29-Mar-07 8:36
dptalt29-Mar-07 8:36 
AnswerRe: Getting the connection string Pin
Rob Graham29-Mar-07 9:10
Rob Graham29-Mar-07 9:10 
QuestionHow can I Inserting to a table Pin
mghiassi29-Mar-07 6:46
mghiassi29-Mar-07 6:46 
AnswerRe: How can I Inserting to a table Pin
Colin Angus Mackay29-Mar-07 21:16
Colin Angus Mackay29-Mar-07 21:16 
Questionprivate Table Adapters Pin
Drathmar29-Mar-07 5:49
Drathmar29-Mar-07 5:49 
QuestionServer Error in '/aspx' Application. Pin
nothingbutcat29-Mar-07 5:07
nothingbutcat29-Mar-07 5:07 
AnswerRe: Server Error in '/aspx' Application. Pin
Colin Angus Mackay29-Mar-07 5:22
Colin Angus Mackay29-Mar-07 5:22 
GeneralRe: Server Error in '/aspx' Application. Pin
nothingbutcat29-Mar-07 6:44
nothingbutcat29-Mar-07 6:44 
QuestionConvert .NET Framework types to SQL data type? Pin
Gywox29-Mar-07 4:24
Gywox29-Mar-07 4:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.