GCN.GETOLEDBSCHEMATABLE
Bom dia a todos do fórum!
Estava utilizando a conecção com o Access onde era possivel criar tabelas utilizando a instrução dataTable = gCN.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Restricoes). Mas agora estou utilizando MySQL Workbench
e gostaria de saber qual instrução utilizar a qual realize a mesma tarefa?
A quem puder ajudar, agradeço
Obrigado;
Dilson J. Hasselmann
Estava utilizando a conecção com o Access onde era possivel criar tabelas utilizando a instrução dataTable = gCN.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Restricoes). Mas agora estou utilizando MySQL Workbench
e gostaria de saber qual instrução utilizar a qual realize a mesma tarefa?
A quem puder ajudar, agradeço
Obrigado;
Dilson J. Hasselmann
Nao seria isso?
// Configuração da conexão
string connectionString = "Server=localhost;Database=seu_banco_de_dados;User ID=seu_usuario;Password=sua_senha;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("Conexão bem-sucedida!");
// Comando SQL para criar a tabela
string createTableQuery = @"
CREATE TABLE IF NOT EXISTS nova_tabela (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
idade INT
);
";
using (MySqlCommand command = new MySqlCommand(createTableQuery, connection))
{
command.ExecuteNonQuery();
Console.WriteLine("Tabela criada com sucesso!");
}
}
catch (Exception ex)
{
Console.WriteLine($"Erro: {ex.Message}");
}
}
}
// Configuração da conexão
string connectionString = "Server=localhost;Database=seu_banco_de_dados;User ID=seu_usuario;Password=sua_senha;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("Conexão bem-sucedida!");
// Comando SQL para criar a tabela
string createTableQuery = @"
CREATE TABLE IF NOT EXISTS nova_tabela (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
idade INT
);
";
using (MySqlCommand command = new MySqlCommand(createTableQuery, connection))
{
command.ExecuteNonQuery();
Console.WriteLine("Tabela criada com sucesso!");
}
}
catch (Exception ex)
{
Console.WriteLine($"Erro: {ex.Message}");
}
}
}
Oi Boa tarde,
Não é bem isso, o que estou querendo é o que fazia para o ACCESS no vb. utilizando OleDB... só que no MySQL bom segue abaixo parte do código utilizado até então
Aqui verifico se o BD está povoado (se possui tabelas) ou não, se estiver povoado, uso o For Next para coletar os nomes das tabelas para um Array (NomeTabelas) e logo após verifico se o nome data Tabela já existe no BD, se existir Excluo do BD e logo em seguida Crio uma tabela com a mesma estrutura (somente estrutura Where=0) da Tabela contida na variavel lTabela. Bom como já falado quero saber se é possivel e quais instruções utilizar para o MySQL, mais uma vez obrigado!
Não é bem isso, o que estou querendo é o que fazia para o ACCESS no vb. utilizando OleDB... só que no MySQL bom segue abaixo parte do código utilizado até então
gMensagem = "Procurando Tabela Temporaria"
dataTable = gCN.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Restricoes)
I = dataTable.Rows.Count - 1
If I > -1 Then
ReDim NomeTabelas1(I)
For I = 0 To dataTable.Rows.Count - 1
NomeTabelas1(I) = dataTable.Rows(I).Item("TABLE_NAME").ToString()
If NomeTabelas1(I) = "tbTMPIMP_1" Then
gSQL = "DROP TABLE tbTMPIMP_1"
gCMD = New OleDbCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
Exit For
End If
Next
End If
gMensagem = "Criando Tabela Temporaria para Impressão 1"
gSQL = "SELECT * INTO tbTMPIMP_1 FROM " & lTabela & " Where 1 = 0" 'Cria Tabela Temporaria
gCMD = New OleDbCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
Aqui verifico se o BD está povoado (se possui tabelas) ou não, se estiver povoado, uso o For Next para coletar os nomes das tabelas para um Array (NomeTabelas) e logo após verifico se o nome data Tabela já existe no BD, se existir Excluo do BD e logo em seguida Crio uma tabela com a mesma estrutura (somente estrutura Where=0) da Tabela contida na variavel lTabela. Bom como já falado quero saber se é possivel e quais instruções utilizar para o MySQL, mais uma vez obrigado!
Oi, e ai ninguem pra ajudar ou dar uma de bom samaritano?
Dim gMensagem As String
Dim gCN As New MySqlConnection("Server=localhost;Database=seu_banco;Uid=seu_usuario;Pwd=sua_senha;")
Dim gCMD As MySqlCommand
Dim gSQL As String
Dim lTabela As String = "nome_da_tabela_original" ' Substitua pelo nome da tabela de origem
Try
' Abrir a conexão
gCN.Open()
gMensagem = "Procurando Tabela Temporária"
gSQL = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'tbTMPIMP_1'"
gCMD = New MySqlCommand(gSQL, gCN)
Dim tabelaExiste As Integer = Convert.ToInt32(gCMD.ExecuteScalar())
If tabelaExiste > 0 Then
gMensagem = "Tabela Temporária encontrada. Excluindo..."
gSQL = "DROP TABLE tbTMPIMP_1"
gCMD = New MySqlCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
End If
gMensagem = "Criando Tabela Temporária para Impressão 1"
gSQL = $"CREATE TABLE tbTMPIMP_1 AS SELECT * FROM {lTabela} WHERE 1 = 0"
gCMD = New MySqlCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
gMensagem = "Tabela Temporária criada com sucesso"
Catch ex As Exception
Console.WriteLine("Erro: " & ex.Message)
Finally
' Fechar a conexão
If gCN.State = ConnectionState.Open Then
gCN.Close()
End If
End Try
Dim gCN As New MySqlConnection("Server=localhost;Database=seu_banco;Uid=seu_usuario;Pwd=sua_senha;")
Dim gCMD As MySqlCommand
Dim gSQL As String
Dim lTabela As String = "nome_da_tabela_original" ' Substitua pelo nome da tabela de origem
Try
' Abrir a conexão
gCN.Open()
gMensagem = "Procurando Tabela Temporária"
gSQL = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'tbTMPIMP_1'"
gCMD = New MySqlCommand(gSQL, gCN)
Dim tabelaExiste As Integer = Convert.ToInt32(gCMD.ExecuteScalar())
If tabelaExiste > 0 Then
gMensagem = "Tabela Temporária encontrada. Excluindo..."
gSQL = "DROP TABLE tbTMPIMP_1"
gCMD = New MySqlCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
End If
gMensagem = "Criando Tabela Temporária para Impressão 1"
gSQL = $"CREATE TABLE tbTMPIMP_1 AS SELECT * FROM {lTabela} WHERE 1 = 0"
gCMD = New MySqlCommand(gSQL, gCN)
gCMD.ExecuteNonQuery()
gMensagem = "Tabela Temporária criada com sucesso"
Catch ex As Exception
Console.WriteLine("Erro: " & ex.Message)
Finally
' Fechar a conexão
If gCN.State = ConnectionState.Open Then
gCN.Close()
End If
End Try
Valeu FabricioWEB, muito obrigado!
Funcionou legal !
Funcionou legal !
finalize o topico vlww
FabricioWeb
Após varias pesquisas encontrei a sintaxe correta MySQL para o VB.NET
gSQL = "CREATE TABLE NomedoBancodeDados.NomedaNovaTabela AS select * from NomedoBancodeDados.NomedaTabeladeOrigem where 1 = 0"
Mais uma vez obrigado, espero que ajude mais pessoas com a mesma dúvida!
Após varias pesquisas encontrei a sintaxe correta MySQL para o VB.NET
gSQL = "CREATE TABLE NomedoBancodeDados.NomedaNovaTabela AS select * from NomedoBancodeDados.NomedaTabeladeOrigem where 1 = 0"
Mais uma vez obrigado, espero que ajude mais pessoas com a mesma dúvida!
Tópico encerrado , respostas não são mais permitidas