搜索int,string类型的数据都很简单,但是写到日期类型的时候就不知道怎么弄了,在csdn中提问后,才知道怎么弄,所以在这笔记下,下次用。
- package sqltest;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.Date;
- import java.text.SimpleDateFormat;
- 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 = ?";//name like ? or
- pstmt=conn.prepareStatement(sql);
- SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd");
- java.util.Date d=null;
- d=f.parse("1990-05-04");
- pstmt.setDate(1,new java.sql.Date(d.getTime()));
- // String key1="xiaolong";
- // Date key2 = new Date(2011,04,01);
- // pstmt.setString(1,"%"+key1+"%");
- // pstmt.setDate(1,Date.valueOf("2011-04-01"));
- 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();
- }
- }
通过日期查找目前知道两种方法:
1:pstmt.setDate(1,Date.valueOf("2011-04-01"));
2:通过simpledateformat。