Avatar billede hankster Nybegynder
06. december 2001 - 15:54 Der er 8 kommentarer og
1 løsning

connect til MSSQL

Hej

jeg skal lave en funktion som skal connecte til min MSsql database, men hvordan gør jeg?

de forskellige inputs som skal med som DBnavn, login og password skal hentes fra attributter på klassen.

hjælp!  :)
Avatar billede disky Nybegynder
06. december 2001 - 15:57 #1
Du bruger denne klasse:

import java.sql.*;

/**
*
* @author  srr
* @version
*/
public class dbHandler extends Object
{
   
    private Connection con=null;

    /** Creates new DataBase */
    public dbHandler()
    {
    }

    public boolean open(String dbDriverName, String dbClassName, String user, String pass)
    {           
//        System.out.println(\"************************************************************************\");
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
//                System.out.println(\"con = \"+con);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        return true;
    }
   
    public void close()
    {
        if(con!=null)
        {
            try
            {
                con.close();
                con=null;
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
    }
   
    public int doUpdate(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
//                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeUpdate(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return 0;
    }

    public ResultSet doQuery(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
//                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeQuery(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return null;
    }
}



Og kalder den med denne her:

import dk.ecsoft.database.mysql.*;
/**
*
* @author  srr
* @version
*/
public class Database extends dbHandler
{
   
    /** Creates new Database */
    public Database()
    {
    }

    public boolean open()
    {
        return super.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://SERVERNAVN/DATABASENAVN\",\"BRUGERNAVN\",\"PASSWORD\");
    }
}


Så kalder du doQuery() med en sql streng og får et resultset tilbage.
Avatar billede tmceu Praktikant
06. december 2001 - 16:15 #2
disky >> stod der ikke MSSQL :-)
Avatar billede hankster Nybegynder
06. december 2001 - 16:17 #3
Forklar lige:

String dbDriverName, String dbClassName

hvad skal der eksempelvis med i disse 2?
Avatar billede hankster Nybegynder
06. december 2001 - 16:19 #4
okay... fik ikke lige slutningen med...

MEN det skal være til en MSSQL db
Avatar billede hankster Nybegynder
06. december 2001 - 19:24 #5
fandt selv ud af det
Avatar billede bearhugx Nybegynder
06. december 2001 - 22:24 #6
Hmm... hvor finder jeg en driver til MS_SQL (går ud fra at det er MS SQL Server, der tales om)...
Er der en driver, så man undgår JDBC-ODBC-bro ???

/Søren
*bare af ren nysgerrighed*
Avatar billede disky Nybegynder
06. december 2001 - 22:25 #7
hankster: okay da.

Men den eneste forskel er driveren.

Alt andet er 100% det samme.

Dette gælder også dit andet spørgsmål om SQL.
Avatar billede bearhugx Nybegynder
06. december 2001 - 22:38 #8
Hejsa Disky ... Har du fået kigget på det Resin.conf endnu ????

/Søren
Avatar billede disky Nybegynder
07. december 2001 - 08:38 #9
bearhugx:

Nope ikke endnu.

Mail lige til disky@hotmail.com og beskriv lige hvad det er du ønsker.
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
Kurser inden for grundlæggende programmering

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