在我的SQL Server表中,如果列值(整数)为空,则插入值为-1。如果我从表中选择所有列值并在ASP.net网格上显示它在指定列上显示-1。我不想把它显示为-1它需要显示像“null或none”之类的东西。怎么能得到这个?
答案 0 :(得分:0)
使该列无效并且不为该列设置默认值,并在asp.net页面中检查是否存在null然后将其替换为bank或“none”
答案 1 :(得分:0)
因此,无论是在您的更新语句中,还是在您正在使用的驱动程序中,''都没有可能被错误处理。如果你想要NULL,你必须插入NULL。
所有在someNum中都会产生不同的值。第一个可以抛出一个类型转换,第二个我相信结果为-1而第三个会给你你正在寻找的结果。
如果您正在使用存储过程,则传入的参数未得到适当处理。
答案 2 :(得分:0)
1您可以在DataBase中插入null。 (在您的数据中使用Type Nullable以匹配)
2您还可以在Gridview中处理您的信息,方法是删除-1并替换为空值。
void GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Text = (e.Row.Cells[1].Text == "-1" ) ? "" : e.Row.Cells[1].Text;
}
}
答案 3 :(得分:0)
不是调用事件并避免不必要的回发到服务器,而是在从数据库获取DataTable之后和Databind()GridView之前编写以下代码。
protected void Page_Load(object sender, EventArgs e)
{
//DataTable dt = GetDataFromDatabase();
DataTable dt = new DataTable();
foreach (DataRow row in dt.Rows)
{
row["columnName"] = row["columnName"]== "-1" ? "none" : row["columnName"];
}
}