以下说明了各种数据库如何使用JDBC连接。
1、Oracle8/8i/9i数据库(精简模式)
//连接到数据库
string URL=' JDBC : Oracle : thin : @ localhost 33601521: orcl '; //orcl是数据库的SID
String user='bbsuser ';
字符串pwd=' m123 ';
class.forname (Oracle.JDBC.driver.Oracle driver ' ).newInstance );
connection conn=driver manager.getconnection (URL,user,pwd );
//执行新操作
string SQL=' insertintousersimvalues (?' ,'?' ,'? () );
statementsm=conn.create statement (;
resultset RS=sm.execute query (SQL;
rs.next (;
intcount=RS.getint(1;
rs.close (;
sm.close (;
conn.close (;
2、DB2数据库
class.forname (com.IBM.DB2.JDBC.app.DB2 driver ' ).newInstance );
string URL=' JDBC : db 2://localhost 33605000/sample '; //sample是您的数据库名称
Stringuser='admin ';
字符串密码=' ';
connection conn=driver manager.getconnection (URL、user、password );
3、Sql Server7.0/2000数据库
class.forname (com.Microsoft.JDBC.SQL server.SQL server driver ) ).newInstance );
string URL=' JDBC : Microsoft : SQL server ://localhost 33601433; DatabaseName=mydb '; //mydb是数据库
Stringuser='sa ';
字符串密码=' ';
connection conn=driver manager.getconnection (URL、user、password );
4、Sybase数据库
class.forname (com.Sybase.JDBC.syb driver ) (.newInstance );
string URL=' JDBC : Sybase : TDS : localhost 33605007/mydb '; //myDB是您的数据库名称
properties sysprops=system.get properties (;
sysprops.put(user )、userid );
sysprops.put(password,) user_password );
connection conn=driver manager.getconnection (URL,SysProps );
5、Informix数据库
class.forname (com.Informix.JDBC.ifx driver ) ).newInstance );
string URL=' JDBC : Informix-sqli ://123.45.67.8933601533/mydb : Informix服务器=my server;
user=testuser; 密码=test password '; //myDB是数据库名称
connection conn=驱动程序管理器. 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&瘦瘦的小笼包=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,然后键入以下命令:
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+"'");