Conectando e manipulando SQL com uma conexao global para qualquer Banco deDados / Driver de gerenciadores que seguem o padrao ODBC(Open DatabaseConnectivity). Usando apenas recursos necessarios para realizar a interacao.Vamos la!Requerimentos:Conhecimento basico de SQLConhecimento basico em C# Sharp (ou Java)Orientacao de Objetos(import/classes/metodos/funcoes).Usar uma IDE (SharpDevelop/Visual Studio)Gerenciador SQL ativado(Service) no Sistema para conectar a servidor localhost (Estou usando o MySQL do XAMPP).Recomendacoes:NET Framework 4.0SharpDevelop 4Windows 7/8 ou 10XAMPPAtivando o MySQL no Sistema Operacional para gerenciar dados SQL:Ativando o Apache e o MySQL no XAMPPCriando um novo projeto "Solucao" em SharpDevelop 4 > Files > New Solution > C# > NET Framework 4.0/Applcation Console...Criando Projeto no SharpDevelop 4Apos criar...Pineira interface criada pelo modelo (Ja configurado por mim)Vamos apagando o que for desnecessario do modelo pre definido... Ate ficar assim (pode copiar, e codigo):Observe que eu estou usando um tema Monokai e o seu deve ser o padrao ou diferente.using System;using System.Data.Odbc;//by Luiz R.namespace ConectODBC{ class Program { public static void Main(string[] args) { try{ }catch(Exception){ } Console.ReadKey(true); } }}Observe que eu acrescentei using System.Data.Odbc; que e uma importacao padrao,Try/Catch sera altamente importante porque o programa vai tentar executar dentro do bloco try, se ocorrer um erro fatal o programa nao vai mostrar bugs nem travamentos, ele vai dar catch e dizer que ocorreu um problema. Exeption pode ser incrementada com uma variavel pra armazenar o erro ex: (Exception Err), Err vai ser a variavel. Tambem temos o comando Console.ReadKey(true); para manter o console e ele nao fechar rapidamente apos as execucoes.using System;using System.Data.Odbc;//by Luiz R.namespace ConectODBC{ class Program { public static void Main(string[] args) { try{ OdbcConnection conn = new OdbcConnection("" + "Driver={MySQL ODBC 5.3 ANSI Driver};" + "server=localhost;" + "uid=root;" + "pwd=root;" + "Option=2"); conn.Open(); OdbcCommand sql = conn.CreateCommand(); Console.WriteLine("ODBC Conectado com sucesso..."); /* TUDO daki pra baixo voce faz o que quiser em SQL antes de dar Close(); */ conn.Close(); }catch(Exception){ Console.WriteLine("Erro ao tentar conectar ao ODBC"); } Console.ReadKey(true); } }}Criei um objeto(conn) que estabeleceu uma conexao com meu gerenciador SQL(MySQL) atraves do Driver={MySQL ODBC 5.3 ANSI Driver}; usando a String "Driver={MySQL ODBC 5.3 ANSI Driver};server=localhost;uid=root;pwd=root;Option=2" para MySQL.Nao Testados:A unica diferenca esta na ai, por exemplo para SQL Server a string poderia ficar assim: "DRIVER=SQL Server Native Client 11.0;Trusted_Connection=Yes;SERVER=(localdb)\v11.0;Description=LocalDB;" Ou depende mo metodo de conexao se e via server host Microsoft Access "Driver={Microsoft Access Driver(*.mdb, *.accdb)};DBQ=C:\\Users\\Administrator\\Desktop\\New folder\\MatchDetails.accdb;"Apos isso, voce abre Open(); e cria um outro objeto que vou chamar de sql para finalmente executar os comandos SQL. Observe que voce manipula os comandos SQL atraves de CommandText e executa sempre com ExecuteNonQuery(); Se for para ler voce substitui por ExecuteReader(); atraves de um looping para poder obter dados da matriz table.using System;using System.Data.Odbc;//by Luiz R.namespace ConectODBC{ class Program { public static void Main(string[] args) { try{ OdbcConnection conn = new OdbcConnection("" + "Driver={MySQL ODBC 5.3 ANSI Driver};" + "server=localhost;" + "uid=root;" + "pwd=root;" + "Option=2"); conn.Open(); OdbcCommand sql = conn.CreateCommand(); //CRIANDO BANCO DE DADOS "TESTE" NO GERENCIADOR MYSQL try{ sql.CommandText = "DROP DATABASE IF EXISTS TESTE;"; sql.ExecuteNonQuery(); sql.CommandText = "CREATE DATABASE IF NOT EXISTS TESTE;"; sql.ExecuteNonQuery(); sql.CommandText = "USE TESTE;"; sql.ExecuteNonQuery(); Console.WriteLine("Banco