链接数据库其实很简单具体代码如下:
创新互联主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务南明,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
package db;
import java.sql.*;
public class DB {
private Connection con=null;
private Statement stmt=null;
private ResultSet rs=null;
public DB(){}
public Connection getConnection(){
String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=truecharacterEncoding=utf8";
String dbuser="root";
String dbpass="sa";
String name="com.mysql.jdbc.Driver";
if(con==null){
try{
Class.forName(name).newInstance();
}catch(Exception e){
System.out.println(e);
}
try{
con=DriverManager.getConnection(url,dbuser,dbpass);
}catch(Exception e){}
}
return con;
}
public ResultSet exeQuery(String sql){
try{
con=getConnection();
if(con==null){
throw new Exception("没有可连接对象");
}
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
}catch(Exception e){}
return rs;
}
public boolean update(String sql){
boolean flag=true;
try{
con=getConnection();
if(con==null) throw new Exception("没有可连接对象");
stmt=con.createStatement();
stmt.executeUpdate(sql);
}catch(Exception e){
flag=false;
System.out.println("异常:"+e);
}
return flag;
}
public void close(){
try{
if(rs!=null)try{rs.close();}catch(Exception e){System.out.println("rs"+e);}
try{stmt.close();}catch(Exception e){System.out.println("stmt"+e);}
try{con.close();}catch(Exception e){System.out.println("con"+e);}
}catch(Exception e){}
}
用Android程序直连MySQL数据库觉做于安全等面考虑数据库址用户名密码查询SQL都存程序容易反编译等看
建议表示层数据层逻辑数据层应网页表示层提供接口同Android手机端提供接口简介访问数据库接口2端都保持致比XML+RPC或者json等等Android端现东西能直接用既安全省事
android 链接mysql数据库实例:
package com.hl;
import java.sql.DriverManager;
import java.sql.ResultSet;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class AndroidMsql extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sqlCon();
}
});
}
private void mSetText(String str){
TextView txt=(TextView)findViewById(R.id.txt);
txt.setText(str);
}
private void sqlCon(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
try {
String url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihuapassword=12345useUnicode=truecharacterEncoding=UTF-8";//链接数据库语句
Connection conn= (Connection) DriverManager.getConnection(url); //链接数据库
Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from user";//查询user表语句
ResultSet rs=stmt.executeQuery(sql);//执行查询
StringBuilder str=new StringBuilder();
while(rs.next()){
str.append(rs.getString(1)+"\n");
}
mSetText(str.toString());
rs.close();
(1)连接MySQL数据库
首先要下载加载RMySQL这个包。
加载的时候可以使用
[plain] view plain copy
require(RMySQL)
或者
[plain] view plain copy
library(RMySQL)
这两个语句的功能是一样的。
现在是建立连接:
[plain] view plain copy
con-dbConnect(MySQL(),host='localhost',port=3306,dbname="XXX",user="root",password="XXXXX")
这里连接的是本地数据库,host=‘localhost’,也可以写成host='127.0.0.1',port为端口,如果不知道的话可以在mysql控制台输入 status来查看数据库的当前配置。其中就包括端口。user为用户名,一般为root,password是你的数据库的密码。
若数据库中的信息是中文,我们就要修改此连接的编码,否则就会出现乱码。
[plain] view plain copy
dbSendQuery(con,"set character_set_result=gbk")
dbSendQuery(con,"set character_set_connection=gbk")
dbSendQuery(con,"set character_set_database=gbk")
dbSendQuery(con,"set character_set_client=gbk")
这样就搞定了,R已经连接到我们自己的MySQL数据库了。
一些常用的数据,处理好,放在mySQL里,以后使用起来也方便。
可以用R直接进行分析,具体步骤如下:
1、R下载RODBC包,安装好。
下载mySQL ODBC,安装好。
3、windows:控制面板-管理工具-数据源(ODBC)-双击-添加-选中mysql ODBC driver一项
填写:data source name 一项填入你要使用的名字,自己随便命名,例如:mysql_data;
description一项随意填写,例如mydata
TCP/IP Server 填写本机服务器IP,一般为:127.0.0.1
user 填写你的mysql用户名
password 填写你的mysql密码
然后数据库里会出现你的mysql里的所有数据库,选择一个数据库。
确定。
4、打开R的界面调用数据库:
1 2 3 4
library(RODBC); channel - odbcConnect("mysql_data", uid="root",pwd="123"); sqlTables(channel);#查看数据中的表 data-sqlFetch(channel,"kegg")# 查看表的内容,存到数据框里
R怎么通过odbc与mysql链接
然后在WINDOWS控制面板的ODBC管理中创建,测试一下。
参考一下说明OR HELP,估计与SYBASE、ORACLE的内容类似
mysql连接字串:
Driver={MySQL ODBC 5.1 Driver};Server=localhost;Port=3306;Database=tmp;USER=root;Pwd=123;
一般的文本格式导入,都可以用read.table命令把数据扔进R里面。Excel和Spss数据的话,可用相应软件将文件打开,观察数据结构后将其复制到剪贴板,然后一样可以用read.table('clipboard')扔到R里面。如果文件太大不好复制,那么可以利用Excel和Spss的导出功能,将数据导出成文本格式。
还有一种情况就是,你的计算机上没有安装Excel或是Spss,这数据导入就要用到RODBC扩展包了。首先装载RODBC包。然后输入数据文件的绝对路径(要注意是用/而不是\)来定义连接,最后用数据抓取命令获取你需要的标签页数据内容(Sheet1)。
library(RODBC)
channel=odbcConnectExcel("d:/test.xls")
mydata=sqlFetch(channel,'Sheet1')这样简单的两个步骤就可以将Excel数据导入R的mydata变量中。如果是Excel2007格式数据则要换一个函数
channel=odbcConnectExcel2007('d:/test.xlsx')
mydata=sqlFetch(channel,'Sheet1')导入spss的sav格式数据则要用到foreign扩展包,加载后直接用read.spss读取sav文件
library(foreign)
mydata=read.spss('d:/test.sav')上面的函数在很多情况下没能将sav文件中的附加信息导进来,例如数据的label,那么建议用Hmisc扩展包的spss.get函数,效果会更好一些。