假设mysql中test数据库中有个表式score,有数据,我只取第一列的数据出来:
public void mysqlConnection(){
try {
ClassforName("commysqljdbcDriver")newInstance();//数据库驱动
String url = "jdbc:mysql://localhost:3306/test";//数据库链接地址
String user = "root";//用户名
String password = "";//密码
Connection conn = DriverManagergetConnection(url, user, password);//建立connection
Statement stmt = conncreateStatement();
connsetAutoCommit(false);// 更改jdbc事务的默认提交方式
String sql = "select from score";//查询语句
ResultSet rs = stmtexecuteQuery(sql);//得到结果集
conncommit();//事务提交
connsetAutoCommit(true);// 更改jdbc事务的默认提交方式
List<String> list=new ArrayList<String>();//创建取结果的列表,之所以使用列表,不用数组,因为现在还不知道结果有多少,不能确定数组长度,所有先用list接收,然后转为数组
while (rsnext()) {//如果有数据,取第一列添加如list
listadd(rsgetString(1));
}
if(list != null && listsize()>0){//如果list中存入了数据,转化为数组
String[] arr=new String[listsize()];//创建一个和list长度一样的数组
for(int i=0;i<listsize();i++){
arr[i]=listget(i);//数组赋值了。
}
//输出数组
for(int i=0;i<arrlength;i++){
Systemoutprintln(arr[i]);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
但是在管理工具下ODBC数据源界面里只能选择64位的PostgreSQL驱动,32位竟然没有。如此一来,一些32位的应用软件就没法利用ODBC链接到数据库了(尝试选取地话,会报告选取的数据源(64位)和应用程序的系统构架(32位)不一致而失败)。
一开始以为在ODBC数据源无法选择32位驱动是和安装驱动的顺序有关,或者32位和64位驱动互相冲突。卸卸装装反复几次,问题依旧。后来查阅psqlodbc项目组的FAQ才找到解决办法:从cmd运行%SystemRoot%\syswow64\odbcad32exe
来配置32位的PostgreSQL ODBC数据源。
odbcad32exe
运行界面和管理工具下ODBC数据源配置界面类似,但是是用来管理32位驱动的。Win7 x64
管理工具下ODBC数据源配置程序(
%SystemRoot%\system32\odbcad32exe
)实际上是64位的驱动管理。
官方的解释为:
using System;
using SystemDataSqlClient;
using SystemData;
public class DB
{
static string Sql="server=;uid=名字;pwd=密码;database=你要连的数据库";
private SqlConnection objSqlConnection = new SqlConnection(Sql);
//以上是加载驱动你要连到的数据库
public int Update(string sql)
{
objSqlConnectionOpen();
SqlCommand objSqlCommand = new SqlCommand(sql,objSqlConnection);
int r=objSqlCommandExecuteNonQuery();
objSqlConnectionClose();
return r; //r如果是=1就是增删改成功!
}
//上面的方法是增删改
public DataSet Select(string sql)
{
DataSet objDataSet = new DataSet();
SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter(sql,objSqlConnection);
objSqlDataAdapterFill(objDataSet);
return objDataSet;
}
//这个方法是查;
}
这是一个连接SQL的类;
你建这样的一个类,在哪个地方要就实例后调他的方法带入一个参数;
参数是SQL增删改查的语句;
如果要在你做的那个程序实现增删改的话就
DB db = new DB();
int i = DBUpdate(增的SQL语句);
// 返回的i是1就是成功了!
===========================
DB db = new DB();
int i = DBUpdate(删的SQL语句);
// 返回的i是1就是成功了!
==========================
DB db = new DB();
int i = DBUpdate(改的SQL语句);
// 返回的i是1就是成功了!
========================如果要查询
DB db = new DB();
DataSet ds = new DataSet();
ds = dbSelect(查的SQL语句);
//查询出的结果就放在ds里面;
请尝试OLEDB或ODBC的方式连接PostgreSQL数据库。
当然,首先需要从PostgreSQL官网获取OLEDB或ODBC的驱动程序,然后才可以使用。
目前用ASP开发的越来越少了,都已经使用ASPNET开发了,就可以直接使用PostgreSQL提供的ADO NET Provider来连接数据库并进行 *** 作。
在水晶报表中的话可以通过oledb连接postgresql,具体的怎么做的话不是很清楚,没怎么用过水晶报表,都是用的finereport,在finereport中可以用jdbc来连接,配置相应的驱动器就可以进行连接了。
1),PostgreSQL是通用型数据库。
PG有着丰富的数据类型(数值、字符、时间、布尔、货币、枚举、网络地址、JSONB等等)和索引类型( B-tree、Hash、GiST、SP-GiST 、GIN 和 BRIN等 )。可以存储和计算大多数场景的业务数据,如 ERP、交易系统、财务系统涉及资金、客户等信息,数据不能丢失且业务逻辑复杂,选择 PostgreSQL 作为数据底层存储,一是可以帮助您在数据一致性前提下提供高可用性,二是可以用简单的编程实现复杂的业务逻辑 。适合各种OLTP和部分OLAP场景。
2),PostgreSQL数据库包含许多第三方插件。
如PostGIS等可以直接在数据库里进行地理位置相关的gis类存储和运算(LBS地理位置相关业务等O2O场景),其他的插件如Pg_stat_statements、uuid-ossp、pg_trgm、btree-gist插件、 pgcrypto加密等插件 。
3),中小型企业快速搭建 数据仓库和数据分析平台(TB级别)
PostgreSQL 提供丰富的数据类型和强大的计算能力,能够帮助您更简单搭建数据库仓库或大数据分析平台,为企业运营加分。
4),冷热分离
针对流水类的大表,PG可以使用分区表,线上保留热数据, 历史 数据存放在分区表里或者OSS等冷数据平台,冷热分离。
5),公有云支持度高如阿里云、腾讯云、华为云等公有云都有对应的RDS-PG产品,开箱即用,并提供技术支持。
OLTP:事务处理是PostgreSQL的本行
OLAP:ANSI SQL兼容,窗口函数,CTE,CUBE等高级分析功能,任意语言写UDF,citus分布式插件
流处理:PipelineDB扩展,Notify-Listen,物化视图,规则系统,灵活的存储过程与函数编写
时序数据:timescaledb时序数据库插件,分区表,BRIN索引
空间数据:PostGIS扩展(杀手锏),内建的几何类型支持,GiST索引。
搜索索引:全文搜索索引足以应对简单场景;丰富的索引类型,支持函数索引,条件索引
NoSQL:JSON,JSONB,XML,HStore原生支持,至NoSQL数据库的外部数据包装器
数据仓库:能平滑迁移至同属Pg生态的GreenPlum,DeepGreen,HAWK等,使用FDW进行ETL
以上就是关于用JDBC SQL / PostgreSQL数组类型的更新结果集问题,怎么解决全部的内容,包括:用JDBC SQL / PostgreSQL数组类型的更新结果集问题,怎么解决、如何在Win7 x64上的配置32位的PostgreSQL ODBC数据源、C#如何连接其他数据库,如MYSQL或者Postgresql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)