Cita:
Empezado por ecfisa
Hola MARX.
No uso MySql por lo que no puedo asegurarlo; pero según esto: SHOW TABLES Syntax, creo que podrías intentar algo similar a esto:
Código PHP:
...
{
tuQuery->Close();
tuQuery->SQL->Text = "SHOW TABLES LIKE :TBNAME";
tuQuery->ParamByName("TBNAME")->AsString = "NOMBRE_TABLA"; //[*]
tuQuery->Open();
if (tuQuery->IsEmpty()) {
// crear tabla
}
tuQuery->Close();
}
[*] La sintáxis del query puede variar según los componentes que estes usando.
Saludos
|
A mi se me ocurrió algo similar después de haber hecho esta pregunta.
Yo hice lo siguiente porque probee lo mismo que me sujerís y me tiraba error. Ahora se por que me tiraba el error.
Código PHP:
bool ExisteTabla=false;
AnsiString Tabla=DBLookupComboBox1->Text; // Aca tengo el nombre de la tabla a creear
Cliente->QCliente->Close();
Cliente->QCliente->SQL->Clear();
Cliente->QCliente->SQL->Add("SHOW TABLES;");
Memo1->Text=Cliente->QCliente->SQL->Text;
Cliente->QCliente->Open();
for(int i=0;i<Cliente->QCliente->RecordCount;i++)
{
if(Cliente->QCliente->FieldByName("Tables_in_basededatosr")->AsString==Tabla)
{
ExisteTabla=true;
}
Cliente->QCliente->Next();
}
if(!ExisteTabla)
{
// Aca cree la tabla
Application->MessageBoxW(L"La tabla se ha creado con exito",L"Creación de tabla",MB_OK);
}
else
Application->MessageBoxW(L"La tabla ya existe",L"Creación de tabla",MB_OK);
Pensaba que podía haber alguna sintaxis en SQL que me consultara por la existencia de una tabla
Voy a usar tu sugerencia que es mas corta
Gracias otra vez ecfisa
Cita:
Empezado por fjcg02
Supongo que será
Código SQL [-]select table_name from information_schema.tables
;
Saludos
|
Gracias por tu respuesta fjcg02, pero esa sintaxis me da un montón de datos y debería filtrarlos
Muchísimas gracias a los dos por sus respuestas y su tiempo
Saludos
MARX