::IsNumber() returned FALSE if a + or - sign was the first character of the string. "-123" should be considered a number

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker
2000-02-23 23:11:53 +00:00
parent 6be0044cf2
commit 2f74ed2859
3 changed files with 165 additions and 35 deletions

View File

@@ -130,6 +130,8 @@ wxTable::wxTable(wxDB *pwxDB, const char *tblName, const int nCols,
wxStrcpy(tableName, tblName); // Table Name
if (tblPath)
wxStrcpy(tablePath, tblPath); // Table Path - used for dBase files
else
tablePath[0]=0;
if (qryTblName) // Name of the table/view to query
wxStrcpy(queryTableName, qryTblName);
@@ -578,20 +580,43 @@ bool wxTable::Open(void)
int i;
// char sqlStmt[DB_MAX_STATEMENT_LEN];
wxString sqlStmt;
wxString *s = NULL;
// Verify that the table exists in the database
if (!pDb->TableExists(tableName,pDb->GetUsername(),tablePath))
// if (!pDb->TableExists(tableName,pDb->GetUsername(),tablePath))
if (!pDb->TableExists(tableName,NULL,tablePath))
{
wxString s;
s =new wxString("Table/view does not exist in the database");
if (*(pDb->dbInf.accessibleTables) == 'Y')
{
(*s)+=", or you have insufficient permissions.\n";
}
else
{
(*s)+=".\n";
}
}
else
{
// Verify the user has rights to access the table.
// Shortcut boolean evaluation to optimize out call to TablePrivs
// Unfortunely this optimization doesn't seem to be reliable!
if (/* *(pDb->dbInf.accessibleTables) == 'N' && */
!pDb->TablePrivileges(tableName,"SELECT",NULL,tablePath))
s = new wxString("Current logged in user has insufficient privileges to access this table.\n");
}
if (s)
{
wxString p;
if (wxStrcmp(tablePath,""))
s.sprintf("Error opening '%s/%s'.\n",tablePath,tableName);
else
s.sprintf("Error opening '%s'.\n", tableName);
if (!pDb->TableExists(tableName,NULL,tablePath))
s += "Table/view does not exist in the database.\n";
else
s += "Current logged in user does not have sufficient privileges to access this table.\n";
pDb->LogError(s.GetData());
p.sprintf("Error opening '%s/%s'.\n",tablePath,tableName);
else
p.sprintf("Error opening '%s'.\n", tableName);
p += (*s);
pDb->LogError(p.GetData());
return(FALSE);
}