当前位置: 技术问答>java相关
再java中解决中文显示的问题!!!高分送!!!
来源: 互联网 发布时间:2015-07-14
本文导语: 我在java中用jdbc想在sql中建立一个表,好像建表的过程中不支持中文字段名,如何解决?还有一个问题,我在程序中jdbc想用jdbc-odbc桥,如何设置?谢谢!在线等待!! | public dbsql() { conn=...
我在java中用jdbc想在sql中建立一个表,好像建表的过程中不支持中文字段名,如何解决?还有一个问题,我在程序中jdbc想用jdbc-odbc桥,如何设置?谢谢!在线等待!!
|
public dbsql() {
conn=null;
stmt=null;
strCon="jdbc:odbc:webdb";
// String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//也可这样表示:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance() ;
//newInstance 应用
/**
* 1。是有来生成该类的一个实例,Class class = Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Object obj = class.newInstance();
当然在该例中,不要Object obj = class.newInstance();也是正确的,因为
你用Connection conn= DriverManager.getConnection(url,user,password); 连接数据源,它会根据你加载的驱动程序类也就是
在com.microsoft.jdbc.sqlserver.SQLServerDriver自动连接数据源的!
* 2。
这可以动态的生成类对象,例如,你可以动态的配置类名,然后根据类名构造对象,只能通过该方法,因为你程序中不知道是那个类,所以不能new了。
Class class = Class.forName("com.xxx.xxx");
Object obj = class.newInstance();
就可以得到对象实例了。
/////////////////////////////////////////////////////////////
简单的sqlserver示例:
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433";//本机ip
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "TESTDB";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String selCode = "SELECT * FROM UserLog";
ResultSet r = smt.executeQuery(selCode);
int i =0;
if(r.last()) {//取结果集结果数目
i = r.getRow();
}
System.out.println(i);
}
catch(Exception e) {
System.out.println(e);//捕捉异常
}
}
} //
*/
}
catch(Exception ex){
System.out.println("没有找到jdbc-odbc数据库驱动程序");
}
}
public void opendb(){
try{
conn=DriverManager.getConnection(strCon,"sa","password");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY );
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage() );
}
}
public void closedb(){
try{
stmt.close() ;
conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage() );
}
}
/**执行数据库查询
*@param sql 查询数据库的select语句
*/
public ResultSet executequery(String sql){
ResultSet rs=null;
try{
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage() );
}
return rs;
}
/**
* 执行数据库insert,update...
* @param sql 查询数据库的select
*/
public int executeupdate(String sql)
{
int ret=0;
try{
ret=stmt.executeUpdate(sql);
System.out.println("操作成功");
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage());
}
return ret;
}
参考一下吧!别忘了加分哦!
conn=null;
stmt=null;
strCon="jdbc:odbc:webdb";
// String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//也可这样表示:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance() ;
//newInstance 应用
/**
* 1。是有来生成该类的一个实例,Class class = Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Object obj = class.newInstance();
当然在该例中,不要Object obj = class.newInstance();也是正确的,因为
你用Connection conn= DriverManager.getConnection(url,user,password); 连接数据源,它会根据你加载的驱动程序类也就是
在com.microsoft.jdbc.sqlserver.SQLServerDriver自动连接数据源的!
* 2。
这可以动态的生成类对象,例如,你可以动态的配置类名,然后根据类名构造对象,只能通过该方法,因为你程序中不知道是那个类,所以不能new了。
Class class = Class.forName("com.xxx.xxx");
Object obj = class.newInstance();
就可以得到对象实例了。
/////////////////////////////////////////////////////////////
简单的sqlserver示例:
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
String address = "jdbc:microsoft:sqlserver://192.168.0.24:1433";//本机ip
String user="sa";//数据库用户密码
String passwd="";//口令
String database = "TESTDB";//目标数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
con.setCatalog(database);//确定目标数据库
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
String selCode = "SELECT * FROM UserLog";
ResultSet r = smt.executeQuery(selCode);
int i =0;
if(r.last()) {//取结果集结果数目
i = r.getRow();
}
System.out.println(i);
}
catch(Exception e) {
System.out.println(e);//捕捉异常
}
}
} //
*/
}
catch(Exception ex){
System.out.println("没有找到jdbc-odbc数据库驱动程序");
}
}
public void opendb(){
try{
conn=DriverManager.getConnection(strCon,"sa","password");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.CONCUR_READ_ONLY );
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage() );
}
}
public void closedb(){
try{
stmt.close() ;
conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage() );
}
}
/**执行数据库查询
*@param sql 查询数据库的select语句
*/
public ResultSet executequery(String sql){
ResultSet rs=null;
try{
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage() );
}
return rs;
}
/**
* 执行数据库insert,update...
* @param sql 查询数据库的select
*/
public int executeupdate(String sql)
{
int ret=0;
try{
ret=stmt.executeUpdate(sql);
System.out.println("操作成功");
}
catch(SQLException ex){
System.err.println("aq.executequery:"+ex.getMessage());
}
return ret;
}
参考一下吧!别忘了加分哦!
|
1.用中文字段名要看数据库是否支持?(但我还是不支持你这种做法,中文字段名缺乏兼容性)
2.在java中操作数据库建议你还是用JDBC直接连接,不推荐JDBC-ODBC桥(效率下降)
JDBC-ODBC例子:
....
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(your_Db_Url);
.....
2.在java中操作数据库建议你还是用JDBC直接连接,不推荐JDBC-ODBC桥(效率下降)
JDBC-ODBC例子:
....
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(your_Db_Url);
.....
|
1。建议用英文字段名
2。 public void connectToDB() //连接数据库
{
String url="jdbc:odbc:yourDBName";
try
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception e)
{
}
conn=DriverManager.getConnection(url,"userName","password");
}
catch(Exception e)
{
}
}
//userName为登录数据库时的用户名,password为用户密码
2。 public void connectToDB() //连接数据库
{
String url="jdbc:odbc:yourDBName";
try
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception e)
{
}
conn=DriverManager.getConnection(url,"userName","password");
}
catch(Exception e)
{
}
}
//userName为登录数据库时的用户名,password为用户密码