UserID.Empty();
 
     // dBase does not use user names, and some drivers fail if you try to pass one
-    if (Dbms() == dbmsDBASE)
+    if ( Dbms() == dbmsDBASE
+         || Dbms() == dbmsXBASE_SEQUITER )
         UserID.Empty();
 
     // Oracle user names may only be in uppercase, so force
     if (!wxStricmp(baseName,wxT("DBASE")))
         return((wxDBMS)(dbmsType = dbmsDBASE));
 
+    if (!wxStricmp(baseName,wxT("xBase")))
+        return((wxDBMS)(dbmsType = dbmsXBASE_SEQUITER));
+    
     if (!wxStricmp(baseName,wxT("MySQL")))
         return((wxDBMS)(dbmsType = dbmsMY_SQL));
 
         case dbmsPOSTGRES :
         case dbmsACCESS :
         case dbmsDBASE :
+        case dbmsXBASE_SEQUITER :
         default :
             alterSlashModify = "MODIFY";
             break;
 
             break;
         }
     }
-    if (j && pDb->Dbms() != dbmsDBASE)  // Found a keyfield
+    if (j && (pDb->Dbms() != dbmsDBASE) 
+                 && (pDb->Dbms() != dbmsXBASE_SEQUITER)
+          )  // Found a keyfield
     {
         switch (pDb->Dbms())
         {
                        pDb->SQLTableName(idxName.c_str()).c_str(),
                        pDb->SQLTableName(tableName.c_str()).c_str());
     else if ((pDb->Dbms() == dbmsMS_SQL_SERVER) ||
-             (pDb->Dbms() == dbmsSYBASE_ASE))
+             (pDb->Dbms() == dbmsSYBASE_ASE) ||
+                        (pDb->Dbms() == dbmsXBASE_SEQUITER))
         sqlStmt.Printf(wxT("DROP INDEX %s.%s"),
                        pDb->SQLTableName(tableName.c_str()).c_str(),
                        pDb->SQLTableName(idxName.c_str()).c_str());