使用OracleXe和JSF2.2通过排序将数据输入数据库
我正在使用JSF2.2和Oracle11gXe编写一个项目,我制作了连接语句等,可以将数据输入数据库。并在称为网页的视图部分向用户显示数据库中的数据。我的问题是:通常,如果您使用OracleXe接口输入数据,您将看到数据——您输入的数据——按id排序。但当我使用JSF输入数据时,在数据库中我看不到任何顺序。 比如说 身份证姓名 1丹·布朗 2乔安妮·凯瑟琳·罗琳 3乔治·R·R·马丁 通常这应该写在数据库中。但我的情况是这样的: 身份证姓名 1丹·布朗 3乔治·R·R·马丁 2乔安妮·凯瑟琳·罗琳 我的代码是:使用OracleXe和JSF2.2通过排序将数据输入数据库,oracle,oracle11g,Oracle,Oracle11g,我正在使用JSF2.2和Oracle11gXe编写一个项目,我制作了连接语句等,可以将数据输入数据库。并在称为网页的视图部分向用户显示数据库中的数据。我的问题是:通常,如果您使用OracleXe接口输入数据,您将看到数据——您输入的数据——按id排序。但当我使用JSF输入数据时,在数据库中我看不到任何顺序。 比如说 身份证姓名 1丹·布朗 2乔安妮·凯瑟琳·罗琳 3乔治·R·R·马丁 通常这应该写在数据库中。但我的情况是这样的: 身份证姓名 1丹·布朗 3乔治·R·R·马丁 2乔安妮·凯瑟琳·罗
public String AuthorEkle()//Sayfadan girilen verileri veri tabanına gönderem metot.
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","username","password");
ps=con.prepareStatement("INSERT INTO AUTHOR(ID, NAME, SURNAME) VALUES(?,?,?)");
ps.setInt(1, id);//ps nesnesine gelen id yi koyduk.
ps.setString(2, name);//ps nesnesine gelen alanı koyduk.
ps.setString(3, surname);
i=ps.executeUpdate();
}
catch(Exception e)//Hata olduğunda konsola verilecek.
{
System.out.println(e);
}
finally //Ne olursa olsun her koşulda çalışacak kısım
{
try{
con.close();
ps.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
System.out.println(id);
System.out.println(name);
System.out.println(surname);
return "Authors";
}
对于正常的排序,我的sql语句应该是什么
如果这个问题这么简单,我很抱歉。但我在谷歌找不到任何好的答案。
谢谢当您从表中选择数据时,您将不能保证以相同的插入顺序获得数据 始终使用order by按您想要的顺序获取数据
select * from your_table order by ID;
除非您的查询包含一个
orderby
,即SELECT*FROM author ORDER BY id
,否则没有“默认顺序”。行可以按插入顺序返回。但由于一些原因,它们可能不会按该顺序返回。如果您关心行的显示顺序,则需要在选择中指定顺序。感谢您的回答,在jsf屏幕中显示数据时您是正确的。但在Oracle数据库中,排序是1 3 2。应该是1 2 3我怎么能那样做。难道不可以吗?如果我们有一个触发器或过程,当一个新数据写入数据库时对它们进行排序,该怎么办。我如何实现这个触发器?您只能通过使用order ByOK来确保订单。谢谢您的回答。在select语句中,我使用ORDERBY,并且在jsf页面中看到了正确的顺序。