各种数据库连接方式

 

下面罗列了各种数据库使用JDBC连接的方式:

  1、Oracle8/8i/9i数据库(thin模式)

  //连接数据库

              Stringurl="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID

              String user="bbsuser";

              String pwd="m123";

 

              Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

              Connection conn=DriverManager.getConnection(url,user,pwd);

 

   //执行新增操作

              String sql="insert into usersimvalues('?','?','?')";

              Statement sm=conn.createStatement();

              ResultSet rs=sm.executeQuery(sql);

              rs.next();

              int count=rs.getInt(1);

              rs.close();

              sm.close();

              conn.close();

 

 

  2、DB2数据库

  Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();

 

  Stringurl="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名

 

  Stringuser="admin";

 

  Stringpassword="";

 

  Connectionconn= DriverManager.getConnection(url,user,password);

 

 

  3、Sql Server7.0/2000数据库

  Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

 

  Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";//mydb为数据库

 

  Stringuser="sa";

 

  String password="";

 

  Connectionconn= DriverManager.getConnection(url,user,password);

 

 

  4、Sybase数据库

  Class.forName("com.sybase.jdbc.SybDriver").newInstance();

 

  String url=" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名

 

  PropertiessysProps = System.getProperties();

 

  SysProps.put("user","userid");

 

  SysProps.put("password","user_password");

 

  Connectionconn= DriverManager.getConnection(url, SysProps);

 

 

  5、Informix数据库

  Class.forName("com.informix.jdbc.IfxDriver").newInstance();

 

  String url ="jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

 

  user=testuser;password=testpassword";//myDB为数据库名

 

  Connectionconn= DriverManager.getConnection(url);

 

 

  6、MySQL数据库

  Class.forName("org.gjt.mm.mysql.Driver").newInstance();//或者Class.forName("com.mysql.jdbc.Driver");

 

  String url="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"//myDB为数据库名

 

  Connectionconn= DriverManager.getConnection(url);

 

 

  7、PostgreSQL数据库

  Class.forName("org.postgresql.Driver").newInstance();

 

  String url="jdbc:postgresql://localhost/myDB" //myDB为数据库名

 

  Stringuser="myuser";

 

  Stringpassword="mypassword";

 

  Connectionconn= DriverManager.getConnection(url,user,password);

 

 

  8、access数据库直连用ODBC的

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 

  Stringurl="jdbc:odbc:Driver={MicroSoft Access Driver(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");

 

  Connectionconn = DriverManager.getConnection(url,"","");

 

  StatementstmtNew=conn.createStatement() 



 15、数据库授权

  格式:grant select on 数据库.* to 用户名@登录主机identified by "密码"

例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

 mysql>grantselect,insert,update,deleteon*.*to user001@"%" Identified by "123456";

 

例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)

       //这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
        //首先用以root用户连入MySQL,然后键入以下命令:

  mysql>grantselect,insert,update,deleteon test.*to user002@localhost identified by "123456";

 

QT连接数据库  
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");    
db.setPort(DB_PORT);                                   
db.setHostName(DB_HOSTNAME);                          
db.setDatabaseName(DB_DBNAME);                              
db.setUserName(DB_USERNAME);    
db.setPassword(DB_PASSWORD);    
if (db.open()) {  
    qDebug()<< "链接远程数据库成功";    
}else{  
    qDebug()<< "链接远程数据库失败";    
    return;  
}  
  
//查询语句  
QSqlQuery query("SELECT * FROM TB_PRO");    
while (query.next())   
{    
    int iProNo = query.value(0).toInt();   
    QString sProName = query.value(1).toString();  
      
}  
  
//删除语句  
QString sProName = "csdn"  
QSqlQuery query("delete from TB_PRO where task_name = '"+sProName+"'");    













你可能感兴趣的:(其他)