请助

jhcff882001 2004-04-20 08:28:34
请问各位兄弟姐妹,java中的int,long,float,double,varchar这些类型,如何转换为Mysql,Oracle,SQL SERVER中都支持的类型呢.请指教,请给我一点例子.先谢谢您了!
分数要的话还有的,谢谢了.
...全文
56 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhcff882001 2004-05-10
  • 打赏
  • 举报
回复
有没有人帮我搞定呀分数没问题的你要多少多给你!
jhcff882001 2004-05-08
  • 打赏
  • 举报
回复
java的数据类型转化为oracle mysql ms sql 都支持的方法.
jhcff882001 2004-05-08
  • 打赏
  • 举报
回复
个界面实现Mysql MS SQL oralce三个数据库的连接的资料在那里有的找的呀请各位指教能发给我最好我的email: jhc3001@yahoo.com.cn
bigcrazy 2004-04-27
  • 打赏
  • 举报
回复
我以前买过一本JDBC的书,里面就叙述了这些数据类型间转换的问题。
AbnerChai 2004-04-27
  • 打赏
  • 举报
回复
关注,我觉得没有必要啊。
帮你up一下吧。
jhcff882001 2004-04-27
  • 打赏
  • 举报
回复
我的email:jhcff88@sohu.com,那位兄弟姐妹有兴趣做出来发给我有重谢!!!
jhcff882001 2004-04-23
  • 打赏
  • 举报
回复
也就是一个界面实现Mysql MS SQL oralce三个数据库的连接
panpan221 2004-04-23
  • 打赏
  • 举报
回复
新手学习
vongood 2004-04-23
  • 打赏
  • 举报
回复
关注。
XIHSHI 2004-04-23
  • 打赏
  • 举报
回复
up
jhcff882001 2004-04-21
  • 打赏
  • 举报
回复
另一个主类是:
package server.ScaleTree;

import javax.swing.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import java.util.*;
import org.gjt.mm.mysql.*;
import server.EntityAttributes;

import java.util.Hashtable;

public class ScaleTree {
private java.sql.Statement stmt = null;
private java.sql.Connection conn;




public ScaleTree() {
try{
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
conn = DriverManager.getConnection (
"jdbc:mysql://localhost/syl" ,
"user",
"123456"
);
}
catch(Exception e){
System.err.println("在创建数据库连接时出错,数据库没有连上!"+e.getMessage());
}
}


//动态创建表Scale_Tree
// @para String tablename表名
//@para Vector v输入字段名称、类型、默认值
public void CreateTable(String tablename,Vector v)//tablename的形式:Scale1_Tree
{
String createstr = "";
for(int i =0;i < v.size();i++){

String attType = ((EntityAttributes)v.get(i)).getAttributesDataType();
String attName = ((EntityAttributes)v.get(i)).getAttributesName();
String attDefa = ((EntityAttributes)v.get(i)).getAttributesDefaultValue();

if(attDefa.length() ==0){
createstr = createstr + attName+" "+attType+", ";


}else{
createstr = createstr + attName+" "+attType+" default "+attDefa+", ";
}

}

try{

String sql = "create table " + tablename + " ( " + "ID varchar(60) NOT NULL," + createstr + " PRIMARY KEY (ID))" ;
sql = this.processChinese(sql);
stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.executeUpdate(sql);
}

catch(SQLException e){
e.printStackTrace();

}

}



//获取表中ID字段的值
public String getTableID(String tablename){
String ID = tablename.substring(tablename.indexOf("_")+1);
System.out.println("ID:"+ID);
Stack tableID = ctclassstack(tablename);
String s = this.getID(tableID,ID);
System.out.println("s:"+s);
return s;

}


//获得项目中已存在的实体ID栈

private Stack ctclassstack(String tablename)
{
Stack stack = new Stack();

int row = 0;
try
{
String searche = "select ID from "+tablename;
searche = this.processChinese(searche);
stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
java.sql.ResultSet rs = stmt.executeQuery(searche);
while(rs.next())
{
row++;
}
System.out.println("row:"+row);
rs.beforeFirst();
for (int i = 1;i <= row;i++)
{rs.next();
String stackelement = rs.getString(1);
System.out.println("stackelement:"+ stackelement);
stack.addElement(stackelement);
}
int s = stack.size();
System.out.println("stacksize:" + s);
rs.close();
}
catch(SQLException e)
{
e.printStackTrace() ;
}
return stack;
}


/**
* 分派实体ID或实体实例ID
* @param ins Stack 项目中已存在的实体ID栈或实例ID栈
* @param entID String "ID"或要生成实例的实体的ID
* @return ID
*/
static public String getID(Stack ins, String entID)
{
entID = entID + "_";

// 保存实体实例ID的临时栈
Stack tempStack = new Stack();

// 遍历存放所有实例ID号的栈,把所有含有ID_X的ID号压入一个临时栈
// 此时的栈即为ins, ID_X是entID
for( int i = 0; i < ins.size(); i ++)
{
if( ins.get( i).toString() .indexOf( entID) != -1)
tempStack.addElement( ins.get( i));
}

// 对临时栈排序, 便于算法处理
tempStack = sort( tempStack);

// 新项目,还没有实体
if( tempStack.size() == 0)
{
return entID + 1;
}
// 项目中已有实体
else
{
// 取出栈中最大ID号,与栈长作比较
String maxID = tempStack.lastElement().toString() ;
int length = Integer.parseInt( maxID.substring( maxID.lastIndexOf( "_") + 1));
// 若相等,则直接返回
if( length == tempStack.size())
{
length += 1;

return entID + length;
}
// 若不等,则两两比较,寻差值绝对值大于1的
else
{
// 用来遍历临时栈
Iterator i = tempStack.iterator() ;

String firstElement = i.next() .toString() ; // 取出栈中第一个元素
String secondElement; // 用于暂存第二个元素

// 在遍历前需判断起始元素是否是基于1的
int init = Integer.parseInt( firstElement.substring( firstElement.lastIndexOf( "_") + 1));
if( init != 1)
return entID + 1;

// 遍历, 依次两两比较
while( i.hasNext())
{
secondElement = i.next() .toString() ;

// 存在缺位
if( firstElement.compareTo( secondElement) < -1)
{
int index = Integer.parseInt( firstElement.substring( firstElement.lastIndexOf( "_") + 1));
index += 1;

return entID + index;
}

// 指针后移
firstElement = secondElement;
}
}
}

return null;
}


/**
* 对实体标识排序
* @param object
* @return 返回排序后的实体集
*/
static private Stack sort(Vector object)
{
// 结果集
Stack result = new Stack();

// 临时集
Vector tmp = new Vector();
// 获取实例标识数字
String str = null;
for( int i = 0; i < object.size(); i ++)
{
str = object.get( i).toString() ;
tmp.add( str.substring( str.lastIndexOf( "_") +1));
}

// 数组效率最高,转化之
int[] a = new int[ object.size() +1];
String[] b = new String[ object.size() +1];
for( int m = 1; m <= object.size() ; m++)
{
a[m] = Integer.parseInt( String.valueOf( tmp.get( m-1)));
b[m] = object.get( m-1).toString() ;
}

// 排序号时临时变量
int t = 0;
for( int j = 1; j <= object.size() -1; j++)
for( int i = 1; i <= object.size() - j; i++)
if( a[i] > a[i+1])
{
// 距离
t = a[i+1]; a[i+1] = a[i]; a[i] = t;
// 对距离排序的同时,相应更改实例对象位置
str = b[i+1]; b[i+1] = b[i]; b[i] = str;
}

// 最后实例对象入栈
for( int k = 0; k < object.size() ; k++)
result.addElement( b[k+1]);

return result;
}

//处理中文信息
private String processChinese(String str)
{
try
{
byte[] _str = str.getBytes() ;
str = new String( _str, "ISO-8859-1");
}
catch( java.io.UnsupportedEncodingException e)
{
e.printStackTrace() ;
}
return str;
}

}
jhcff882001 2004-04-21
  • 打赏
  • 举报
回复
各位说的不错奈何一向表现不错的我在这个问题上卡壳了,下面是别人写的一点代码请提意见加一些数据类型的转换
package server.ScaleTree;

import java.sql.*;
import java.io.*;
import java.util.*;

import javax.swing.*;
import server.Mysql.*;
import server.SQLServer.*;
import server.EntityAttributes;




//import java.util.Hashtable;


public class ScaleTest {
EntityAttributes eatt2 = null;

public ScaleTest() {

}

public static void main(String[] args) {

Vector v = new Vector();
EntityAttributes eatt = new EntityAttributes();

// eatt.setAttributesDataType("int(6)");
eatt.setAttributesDataType("double");
eatt.setAttributesDefaultValue("NULL");
eatt.setAttributesName("TEL");

EntityAttributes eatt1 = new EntityAttributes();
eatt1.setAttributesDataType("varchar(60)");
eatt1.setAttributesDefaultValue("NULL");
eatt1.setAttributesName("ADDR");

EntityAttributes eatt2 = new EntityAttributes();
eatt2.setAttributesDataType("varchar(60)");

eatt2.setAttributesName("P");
v.add(eatt);
v.add(eatt1);
v.add(eatt2);

ScaleTree f = new ScaleTree();

// f.CreateTable("Scale4_Tree",v);
// f.getTableID("Scale1_Tree");
// f.DropTable("Scale2_Tree");
// f.dropattribute("Scale1_Tree","TEL");
// EntityAttributes eatt3 = new EntityAttributes();
//eatt3.setAttributesDataType("varchar(60)");
// f.CreateTable("Scale6_Tree",v);
//f.CreateTable("Scale8_Tree",v);

EntityAttributes eatt3 = new EntityAttributes();
eatt3.setAttributesDataType("int");
eatt3.setAttributesDefaultValue("NULL");
eatt3.setAttributesName("PHONE");

EntityAttributes eatt4 = new EntityAttributes();
eatt4.setAttributesDataType("varchar(60)");

eatt4.setAttributesName("Toys");

EntityAttributes eatt5=new EntityAttributes();
eatt5.setAttributesDataType("double");
eatt5.setAttributesName("price");

//EntityAttributes eatt6=new EntityAttributes();
// eatt6.setAttributesDataType("long");
//eatt6.setAttributesDataType("long");
//eatt6.setAttributesName("money");

//EntityAttributes eatt7=new EntityAttributes();
//eatt7.setAttributesDataType("float");
//eatt7.setAttributesName("till");

v.add(eatt3);
v.add(eatt4);
v.add(eatt5);
// v.add(eatt6);
// v.add(eatt7);


f.CreateTable("Scale13_Tree",v);


}
}


ai92 2004-04-20
  • 打赏
  • 举报
回复
我想这本来就不是什么问题,你也不用强求来个一一对应~~~~~~~~~

他们之间有没有什么一一对应的关系无关紧要

比如你的int型数据可以转化为String 再放到数据库,也可以直接放等等方法都可以实现的
所以我认为这个问题没有意义
hui3zhihui 2004-04-20
  • 打赏
  • 举报
回复
java中没有varchar

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧