Avatar billede starf Nybegynder
19. september 2004 - 18:11 Der er 11 kommentarer og
1 løsning

connecte til mysql istedet for acces?

Hey

er det muligt at forholdvis let at ændre en et program fra at connecte til acces til istedet at connecte til mysql?

dette er min connection string til acces, hvordan ændre man den til mysql?

        public string getDatabaseDNS()
        {
            //Return the DNS string, used to create a connection to the database
           
            //string strType="Access";
           
            string  strDatabase= Environment.CurrentDirectory + "\\database.mdb";
            //MessageBox.Show(strDatabase);

            string strDNS="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDatabase;
            return strDNS;
        }
Avatar billede arne_v Ekspert
19. september 2004 - 18:14 #1
Jeg vil sige at det er ret nemt.

Du kan enten bruge ODBC eller ByteFX .NET MySQL provider.

Jeg vil klart anbefale ByteFX.
Avatar billede arne_v Ekspert
19. september 2004 - 18:15 #2
Simplest mulige eksempel med ByteFX:

using System;
using System.Data;
using ByteFX.Data.MySqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT * FROM T1", con);
        MySqlDataReader rdr = sel.ExecuteReader();
        while(rdr.Read()) {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede arne_v Ekspert
19. september 2004 - 18:16 #3
Som du kan se så ligner MySqlConnection alle de andre SqlConnection, OleDbConnecion,
OdbcConnection.
Avatar billede arne_v Ekspert
19. september 2004 - 18:16 #4
Avatar billede arne_v Ekspert
19. september 2004 - 18:23 #5
Hvis du gerne vil lave din kode databas euafhængig så bør du bruge interfacene
alle steder undtagen ved connection creation - og den kan wrappes i en
seperat lille klasse som selv finder Connection klasse udfra connection
string.
Avatar billede starf Nybegynder
19. september 2004 - 18:37 #6
Takker tænkte på om nu er alt min kdoe jo skrevet til acces, skal jeg så ikke bruge odbc hvis jeg ikke vil ændre alt database delen.. ?

altå alt det select from, insert into, update osv? eller er det helt lige meget?
Avatar billede arne_v Ekspert
19. september 2004 - 18:39 #7
Du skal vælge om du vil bruge ODBC eller ByteFX .NET driver. Jeg er
kommet med min anbefaling.

Det kræver nogle trivielle ændringer af koden.

Så er det muligt at du skal rette i SQL'en, hvis du har brugt Access
specifikt SQL. Hvis du har brugt standard SQL, så bør SQL'en virke
uændret mod MySQL.

Spørgsmålet om SQL dialekt er uafhængigt af valg af driver.
Avatar billede starf Nybegynder
19. september 2004 - 18:43 #8
altså min sql del er som sagt bare simpelt

Select from
Insert Into
og Update into

f.eks.: string strSQL = "SELECT * FROM menu"

kan du lige forklare hvorfor du vil anbefale ByteFX ?
Avatar billede arne_v Ekspert
19. september 2004 - 18:45 #9
Den bør virke uændret mod MySQL.

Jeg har flere gange oplevet at folk har bruge OdbcConnection mod MySQL, haft
mærkelige fejl, opdateret til ByteFX og så virkede det med samme SQL.
Avatar billede arne_v Ekspert
19. september 2004 - 18:45 #10
Jeg har dog også oplevet en enkelt bug i ByteFX.
Avatar billede starf Nybegynder
19. september 2004 - 18:57 #11
oki takker! skriv et svar og få point :)
Avatar billede arne_v Ekspert
19. september 2004 - 18:58 #12
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester