JDBC查询SQL 2000时怎么判断表内有空值,然后在把空值替换成“NULL”。我是说你不知道有空值,你要判断他是否有,有的话就替换。看下这段代码import java.sql.*;public class QueryApp { static ResultSet result;
static Connection con;
static Statement stat;
static String rowdata;
public static void main(String[]arg)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:MyDataSource","sa","");
stat = con.createStatement();
result = stat.executeQuery("select * from Publishers");
ResultSetMetaData rsmd = result.getMetaData();
int Count = rsmd.getColumnCount();
rowdata=rsmd.getColumnName(1).trim();
for(int i=2;i<=Count;i++)
{
rowdata=rowdata+" : "+rsmd.getColumnName(i).trim();
}
System.out.println(rowdata);
System.out.println("----------------------------------");
while(result.next())
{
rowdata=result.getString(1).trim();
for(int i=2;i<=Count;i++)
{
rowdata=rowdata+" : "+result.getString(i).trim();
}
System.out.println(rowdata);
System.out.println("\n");
}
}
catch(Exception e)
{
System.out.println("Could not execute the query! "+e);
}
}
}你门看下这段代码,他最后3行就显示不出来了,报空指针异常,就是因为那3行中有空值,我就要判断下是否有空值,然后就用NULL替换空值。但是我不知道怎么去判断,怎么替换!
static Connection con;
static Statement stat;
static String rowdata;
public static void main(String[]arg)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:MyDataSource","sa","");
stat = con.createStatement();
result = stat.executeQuery("select * from Publishers");
ResultSetMetaData rsmd = result.getMetaData();
int Count = rsmd.getColumnCount();
rowdata=rsmd.getColumnName(1).trim();
for(int i=2;i<=Count;i++)
{
rowdata=rowdata+" : "+rsmd.getColumnName(i).trim();
}
System.out.println(rowdata);
System.out.println("----------------------------------");
while(result.next())
{
rowdata=result.getString(1).trim();
for(int i=2;i<=Count;i++)
{
rowdata=rowdata+" : "+result.getString(i).trim();
}
System.out.println(rowdata);
System.out.println("\n");
}
}
catch(Exception e)
{
System.out.println("Could not execute the query! "+e);
}
}
}你门看下这段代码,他最后3行就显示不出来了,报空指针异常,就是因为那3行中有空值,我就要判断下是否有空值,然后就用NULL替换空值。但是我不知道怎么去判断,怎么替换!
for(int i=2;i<=Count;i++)
{
if(result.getString(i)==null){
rowdata=rowdata+" : NULL";
}else{
rowdata=rowdata+" : "+result.getString(i).trim();
} }
{
if(result.getString(i)==null)
{
rowdata=rowdata+" : NULL";
}
后面的都执行不了了
if(result.getString(i)==null){
rowdata=rowdata+" : NULL";
}else{
rowdata=rowdata+" : "+((String)result.getString(i)).trim();
}
}
http://www.agui.googlepages.com
mailto: agui.cn(a)gmail.com