数据库里一列为空属性为char(10)我用java查出来后和null相比,怎么不相等,用什么方法可以把它转换为null

如题所述

//举个例子,char类型的。
char ch = 'A';
System.out.println(ch+"" == null);
//如果是空字符串用"".equals(ch+"")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-31
你可以写sql的时候有where语句直接排除这样的空字段没有必要吧数据读到java程序中在去比较,如果真要比较,去看JDBCapi API中有方法来判断字段是否为空,
第2个回答  2013-05-31
WorldNewsAdd.cs源码:
public static bool updateWorldNews(WorldNewsType t)
{
try
{
SqlConnection con = DB.createCon();
con.Open();
SqlCommand cmd = new SqlCommand("update WorldNews set WorldNewsDate='" + t.WorldNewsDate + "' where WorldNewsID='" + t.WorldNewsID + "'", con);
cmd.ExecuteNonQuery();
return true;
}
catch (Exception e)
{
return false;
}
}

更新页update.aspx.cs后台代码:
protected void btnUpdate_Click(object sender, EventArgs e)
{
string strID = Request.QueryString["WorldNewsID"];
WorldNewsType t = new WorldNewsType();
t.WorldNewsID = strID;
if (this.txtWorldNewsDate.Text == null || this.txtWorldNewsDate.Text == "")
{
t.WorldNewsDate = DBNull.Value.ToString();
}
else
{
t.WorldNewsDate = this.txtWorldNewsDate.Text;
}
if (WorldNewsAdd.updateWorldNews(t))
{
Response.Write("成功");
}
else
{
Response.Write("失败");
}

要实现文本框接收的值为空值(NULL)时,把空值(NULL)更新回数据库.
WorldNewsDate的数据类型是DateTime,用我上面的代码更新回数据库时,如果文本框是空值会往数据库里写进一个1900-1-1 0:00:00的时间值...
第3个回答  2013-06-01
同意楼下意见~!
相似回答