『壹』 欄位數據類型設置方法有哪些
有一個表名為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;
}