‘壹’ 字段数据类型设置方法有哪些
有一个表名为tb,字段段名为name,数据类型nchar(20)。
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));
2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));
3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:
/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;
/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);
/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);
/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;
总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。
‘贰’ 现实中的数据在放入数据表时应该如何设置数据类型
创建JTable jt=new JTable(sm); 其中sm是public class StuModel extends AbstractTableModel的对象,此时在StuModel类中你要重写public int getRowCount(),public int getColumnCount() ,public Object getValueAt(int rowIndex, int columnIndex),public String getColumnName(int column)这四个方法,主要是继续在这个类中创建一个查询方法即:
public boolean querystu(String sql,String date[])//有没有返回值都行
{
boolean b=true;
OpDatabase od=new OpDatabase();//这是专门操作数据库的类
try {
ResultSet rs=od.querybase(sql, date);//调用查询方法,返回rs结果集
while(rs.next())//取出rs结果集中的内容,如果没用结果则不进入,rowData.size()就为0;
{
Vector stu=new Vector();
stu.add(rs.getString(1));
stu.add(rs.getString(2));
stu.add(rs.getInt(3));
stu.add(rs.getString(4));
stu.add(rs.getString(5));
stu.add(rs.getString(6));
rowData.add(stu);//给行添加数据
}
} catch (Exception e) {
b=false;
e.printStackTrace();
}finally
{
od.close();//关闭资源
}
return b;
}