我按照生日(birthday)来查找。可是这是日期格式的,我就不会操作了。
下面是我的java程序:package sqltest;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;import sqltest1.InputData;public class SqlTest {
public static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=test";
public static String userName="sa";
public static String userPwd="123";
public static void main(String[] args) throws Exception {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet result=null;
Class.forName(driverName);
conn=DriverManager.getConnection(dbURL,userName,userPwd);
String sql="select pid,name,age,birthday,salary from person where birthday like ?";//name like ? or
pstmt=conn.prepareStatement(sql);
// String key1="xiaolong"; 如果是字符串类型或是整型的,我会操作
Date key2 = new Date(2011,04,01);//date数据类型就不知道怎么弄了,帮我看看吧!!
// pstmt.setString(1,"%"+key1+"%");
pstmt.setDate(1,new java.sql.Date(key2.getTime()));
result=pstmt.executeQuery();
while(result.next()){
int pid=result.getInt(1);
String name=result.getString(2);
int age=result.getInt(3);
float salary=result.getFloat(5);
Date birthday=result.getDate(4);
System.out.println(pid+" "+name+" "+age+" "+salary+" "+birthday);
}
result.close();
pstmt.close();
conn.close();
}
}下面是我数据库中的数据:pid name age birthday salary
1 张三 30 2011/4/1 0:00:00 9000
2 张三 30 2011/4/1 0:00:00 9000
3 张三 30 2011/4/1 0:00:00 9000
4 张三 30 2011/4/1 0:00:00 9000
5 张三 30 2011/4/1 0:00:00 9000
6 张三 30 2011/4/1 0:00:00 9000
7 张三 30 2011/4/1 0:00:00 9000
8 张三 30 2011/4/1 0:00:00 9000
9 张三 30 2011/4/1 0:00:00 9000
10 xiaolong 22 1990/5/4 0:00:00 6666
11 xiaoming 22 1994/9/8 0:00:00 1000
12 mr'smith 33 1990/9/9 0:00:00 33
下面是我的java程序:package sqltest;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;import sqltest1.InputData;public class SqlTest {
public static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=test";
public static String userName="sa";
public static String userPwd="123";
public static void main(String[] args) throws Exception {
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet result=null;
Class.forName(driverName);
conn=DriverManager.getConnection(dbURL,userName,userPwd);
String sql="select pid,name,age,birthday,salary from person where birthday like ?";//name like ? or
pstmt=conn.prepareStatement(sql);
// String key1="xiaolong"; 如果是字符串类型或是整型的,我会操作
Date key2 = new Date(2011,04,01);//date数据类型就不知道怎么弄了,帮我看看吧!!
// pstmt.setString(1,"%"+key1+"%");
pstmt.setDate(1,new java.sql.Date(key2.getTime()));
result=pstmt.executeQuery();
while(result.next()){
int pid=result.getInt(1);
String name=result.getString(2);
int age=result.getInt(3);
float salary=result.getFloat(5);
Date birthday=result.getDate(4);
System.out.println(pid+" "+name+" "+age+" "+salary+" "+birthday);
}
result.close();
pstmt.close();
conn.close();
}
}下面是我数据库中的数据:pid name age birthday salary
1 张三 30 2011/4/1 0:00:00 9000
2 张三 30 2011/4/1 0:00:00 9000
3 张三 30 2011/4/1 0:00:00 9000
4 张三 30 2011/4/1 0:00:00 9000
5 张三 30 2011/4/1 0:00:00 9000
6 张三 30 2011/4/1 0:00:00 9000
7 张三 30 2011/4/1 0:00:00 9000
8 张三 30 2011/4/1 0:00:00 9000
9 张三 30 2011/4/1 0:00:00 9000
10 xiaolong 22 1990/5/4 0:00:00 6666
11 xiaoming 22 1994/9/8 0:00:00 1000
12 mr'smith 33 1990/9/9 0:00:00 33
解决方案 »
- 如何设置放入Gridlayout中JButton大小?
- 什么是匿名内部类
- JdbTextArea光标的问题
- java数据结构算法里的变位字程序有一个地方搞不懂,请高人指教
- 求从数据库查询出表的结果,显示到JSP页面上的一段JAVA代码,多谢
- 能不能把.class 或者 .java 文件 编译成 .exe 文件!!
- 各位达人,用 URLConnection 读网页,为什么有些部分读不出来?
- 关于同一个包下多个类之间数据实时共享的问题
- 不想学JAVA的请进
- 我下了jb6可是没有序列号,请问哪位看官有序列号,千恩万谢
- for与foreach 为什么输出排序过的数组顺序不一样
- SWT的table中我用TableEditor在单元格中设置了一个下拉框Combo,但如何获取呢?
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import com.sxit.dataBase.DBCon;public class Test { public static void main(String[] args) {
PreparedStatement pstmt;
ResultSet rs;
String sql="select * from users where entrytime between ? and ?";
Connection con=DBCon.getConnection();
try {
pstmt=con.prepareStatement(sql);
pstmt.setDate(1, Date.valueOf("2010-03-01"));
pstmt.setDate(2, Date.valueOf("2011-04-01"));
rs=pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getLong(1)+" "+rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBCon.closeConnection(con);
}
}
}
pstmt.setDate(1, Date.valueOf("2011-04-01"));
这样也能查出来。
String sql="select pid,name,age,birthday,salary from person where to_char(birthday,'YYYY-MM-DD') = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"2011-04-01");
result=pstmt.executeQuery();
String date=format.format();sql=".... like '%"+date+"'%";你用拼接字符串的方式写SQL语句试试
而且好像只有SimpleDateFormat,没有SimplyDateFormat吧?