Avatar billede macpain Nybegynder
23. maj 2007 - 12:28 Der er 2 kommentarer

Temporary table

Jeg vil gerne selectere fra en temp. tabel oprette i en stored procedure.

Hvis jeg har en SP og jeg har en select inde i denne og jeg vælger fra en alm. tabel fungere det fin men ikke hvis jeg opretter en temp. tabel.

Hvad skal jeg gøre for at vælge fra denne?
Jeg gøre følgende:
Forbindelse oprettes!!

  m_sr = SQLExecDirect(m_stmtHandle, (SQLCHAR*)str.c_str(), SQL_NTS);
  if(m_sr != SQL_SUCCESS && m_sr != SQL_SUCCESS_WITH_INFO)
    return valueToReturn;
   
  m_sr = SQLBindCol(m_stmtHandle, 1, SQL_C_CHAR, row.firstname, sizeof(row.firstname), &row.firstnameLength);
  if(m_sr != SQL_SUCCESS && m_sr != SQL_SUCCESS_WITH_INFO)
      return valueToReturn; // "Error in Binding 1"

  m_sr = SQLBindCol(m_stmtHandle, 2, SQL_C_CHAR, row.lastname,  sizeof(row.lastname),  &row.lastnameLength);
  if(m_sr != SQL_SUCCESS && m_sr != SQL_SUCCESS_WITH_INFO)
      return valueToReturn; // "Error in Binding 2"

  m_sr = SQLBindCol(m_stmtHandle, 3, SQL_DOUBLE, &row.uId,      sizeof(row.uId),      &row.idLength);
  if(m_sr != SQL_SUCCESS && m_sr != SQL_SUCCESS_WITH_INFO)
      return valueToReturn; // "Error in Binding 3"
 
  //Testing if any rows are returned??
  int noOfOrders = 0; 
  // Start fetching records
  while ((m_sr = SQLFetch(m_stmtHandle)) == SQL_SUCCESS) {
    valueToReturn = TRUE;
    noOfOrders++;
    //break;
  }

Men jeg får ingen rækker tilbage!!
Hvad skal jeg gøre for at kunne vælge fra min temp. tabel?
Avatar billede arne_v Ekspert
24. maj 2007 - 01:05 #1
jeg tror at fejlen ligger i koden der opretter den tabel og din SELECT statement, så
vi skal se lidt mere
Avatar billede arne_v Ekspert
21. juli 2007 - 16:01 #2
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester