正文
Java数据库连接——jdbc-odbc桥连接方式及汉字乱码问题
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
jdbc-odbc桥连接方式操作数据库SU(Course),其中Course属性有Cno,Cname,Cpno,Ccredit。
步骤:
1、配置数据源
控制面板下搜索管理工具->ODBC数据源(32位)->添加->选择sql server(填写名称mytest,服务器local或者.)->下一步->更改默认的数据库为SU->下一步->测试数据源至成功
用户数据源会多一条mytest,至此配置数据源成功。
2、在程序中连接数据源
打开eclipse,编写程序。
public class Demo_1 { public static void main(String[] args) {
Connection ct=null;
Statement sm=null; try {
//1.加载驱动(作用:把需要的驱动程序加入内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //2.得到连接(指定连接到哪个数据源)
//如果配置数据源时,选择的是windows nt验证,则不需要用户名和密码
//若选择的是用户验证,则需要加上用户名和密码
ct=DriverManager.getConnection("jdbc:odbc:mytest"); //3.创建Statement或者PreparedStatement[区别]
sm=ct.createStatement(); //Statement用处:主要用于发送SQL语句到数据库 //4.执行(进行crud,创建数据库,备份数据库,删除数据……)
//演示添加一条数据到Course表,executeUpdate可以执行添加删除和修改操作
int i=sm.executeUpdate("insert into Course values('8','软件测试',4,3)"); if(i==1){
System.out.print("添加成功");
}else {
System.out.print("添加不成功");
} } catch (Exception e) {
e.printStackTrace();
}finally{
//关闭资源!!!顺序是谁后创建则先关闭
try {
if(sm!=null){ //if语句是为了程序的健壮性
sm.close();
}
if(ct!=null){
ct.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
执行程序,控制台输出添加成功。打开sql server2012,查看SU数据库的Course表,确实多了一条数据,则操作成功。
演示查询数据库或者添加的一条数据中存在汉字,就会出现乱码问题,解决方法如下:
点击Window->preferences,搜索workspace,修改编码方式为GBK,点击apply->OK,重新运行则不会出现乱码。
若仍然没有解决则重建Project,粘贴代码重新运行即可(原因:文件夹会保存之前的环境属性)。