
public System.Data.OleDb.OleDbConnection strconn = null
//获取datatable数据
public DataTable AExcuToTable(string sql)
{
DataTable dv = null
// System.Data.OleDb.OleDbConnection strconn=null
try
{
strconn = new System.Data.OleDb.OleDbConnection(strConnection)
if (strconn.State == ConnectionState.Closed)
strconn.Open()
System.Data.OleDb.OleDbDataAdapter oa = new System.Data.OleDb.OleDbDataAdapter(sql, strconn)
System.Data.DataSet ds = new DataSet()
oa.Fill(ds, "Table")
dv = ds.Tables["Table"]
}
catch
{
return null
}
strconn.Close()
return dv
}
首先要安装mysql驱动程序包Step 1: 将mysql-connector-java-5.1.7-bin.jar文件拷贝到......\MATLAB\R2009a\java\jar\toolbox
Step 2: 到......\MATLAB\R2009a\toolbox\local目录下,找到classpath.txt文件,打开,并添加用来加载mysql的jdbc驱动语句:
$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.7-bin.jar
Step 3:重新打开MATLAB即可
驱动程序安装成功后,接来下要是matlab连接mysql数据库的代码:
conn =database('databasename','username','password','driver','databaseurl')
连接成功后,返回连接对象。
参数如下:
*databasename: 数据库名称.
*driver: JDBC driver.
*username and password: 用户名和密码.
*databaseurl: 类似于jdbc:subprotocol:subname. subprotocol 是数据库类型,
subname 类似于//hostname:port/databasename.
如果matlab和数据库建立了连接,将返回类似于如下信息:
Instance: 'SampleDB'
UserName: ''
Driver: []
URL: []
Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect]
Message: []
Handle: [1x1 sun.jdbc.odbc.JdbcOdbcConnection]
TimeOut: 0
AutoCommit: 'off'
Type: 'Database Object'
连接mysql的代码如下:
conn = database('tissueppi','root','root','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/tissueppi')
连接成功后,就可以用exec函数执行sql语句
exec函数执行sql语句并返回一个开指针
语法如下:
curs = exec(conn,'sqlquery')
例如:curs = exec(conn, 'select * from customers')
执行完查询后,还要将查询结果从开放cursor对象导入到对象curs中,该功能是用
cursor.fetch函数实现的。
语法如下:
curs = fetch(curs)
使用curs.Data来显示数据,curs.Data返回一个CELL结构,可以先把CELL结构转换成
MATRIX结构再取值:
cur =cell2mat(cur)
a=cur(1,1)
则查询结果就加到了向量a中
注意:
在exec函数执行查询过程中,有的sql语句要输入变量,这时可使用strcat函数完成该
功能。
t = strcat(s1, s2, s3, ...)
for(t=1:10)
sql1 = strcat('select count(did) from rss_genepairs_u where gocc>=',num2str(t),' || gomf >= ',num2str(t),' || gobp >= ',num2str(t))
end
完整代码如下:
conn = database('tissueppi','root','root','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/tissueppi')
for t=0.5:0.01:0.91
for x=0.5:0.1:11
sql = strcat('select count(did) from rss_genepairs_x2 where score =',num2str(t),' || gomf >= ',num2str(t),' || gobp >= ',num2str(t),')')
aTemp = exec(conn,sql)
aTemp = fetch(aTemp)
a = aTemp.Data
a = cell2mat(a)
a= a(1,1)
end
end
vs连接mysql数据库的方法:新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集
从工具箱向form1窗体上拖一个按钮和datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,datagridview控件是用于显示数据集内容
单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysql.data.dll,这是c#连接mysql数据库的动态库,里面封装了很多常用的 *** 作数据库的方法
在解决方案资源管理器中的form1.cs的代码中加入using MySql.Data.MySqlClient这就是代码中的实际引用mysql.data.dll中的内容,有了这个c#就能很方便地 *** 作sql数据库
在按钮的单击事件中添加如下代码
string str = "Server=127.0.0.1User ID=rootPassword=123456Database=testCharSet=gbk"MySqlConnection con = new MySqlConnection(str)//实例化链接
con.Open()//开启连接
string strcmd = "select * from user"
MySqlCommand cmd = new MySqlCommand(strcmd, con)
MySqlDataAdapter ada = new MySqlDataAdapter(cmd)
DataSet ds = new DataSet()
ada.Fill(ds)//查询结果填充数据集
dataGridView1.DataSource = ds.Tables[0]
con.Close()//关闭连接
使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库 *** 作,直观地通过界面来 *** 作
数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)