Skip to content

Instantly share code, notes, and snippets.

@virtix
Created June 15, 2010 20:52
Show Gist options
  • Save virtix/439716 to your computer and use it in GitHub Desktop.
Save virtix/439716 to your computer and use it in GitHub Desktop.
/**
Prints some meta data about PreparedStatement parameters
*/
import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.NClob;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.Ref;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.SQLXML;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.GregorianCalendar;
import org.junit.*;
public class PreparedStatementLogTest {
@SuppressWarnings("deprecation")
@Test
public void peepPS() throws Throwable {
String connectionUrl = "jdbc:...;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(connectionUrl);
//String SQL = "CREATE TABLE dev (name varchar(50), address varchar(120));";
//SQL += "insert into dev (name, address) values ('bill' ,'123 main st');";
String SQL = "SELECT TOP 1 from Foo where Foo_ID = ? AND FooTitle = ? AND CreationDate = ?";
PreparedStatement pstmt = con.prepareStatement(SQL);
pstmt.setInt(1,1);
pstmt.setString(2, "asd");
pstmt.setDate(3, null, new GregorianCalendar() );
ParameterMetaData md = pstmt.getParameterMetaData();
System.out.println( "Number of params: " + md.getParameterCount() );
System.out.println( md.getParameterClassName(1) );
System.out.println( md.getParameterClassName(2) );
System.out.println( md.getParameterClassName(3) );
System.out.println( md.getParameterTypeName(1) );
System.out.println( md.getParameterTypeName(2) );
System.out.println( md.getParameterTypeName(3) );
System.out.println( md.toString() );
System.out.println( md.getParameterMode(1) );
System.out.println( md.getParameterMode(2) );
System.out.println( md.getParameterMode(3) );
System.out.println( md.getParameterType(1) );
System.out.println( md.getParameterType(2) );
System.out.println( md.getParameterType(3) );
// System.out.println( md. );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment