2

我使用来自 datepicker 的日期填充一个文本框Calendar1.SelectedDate.ToShortDateString();,之后我使用如下所示的查询存储在 Oracle 数据库中

string query3 = "insert into leave_module1 values(:srno,:name,:desig,:tol,:compdates,:fd,:td,:nod,:da,:ds,st.nextval)";
OracleCommand cmd = new OracleCommand(query3, con);
try
{
    cmd.Parameters.Add(":srno", OracleType.Number, 8).Value = DropDownList2.Text;
    cmd.Parameters.Add(":name", OracleType.VarChar, 50).Value = TextBox8.Text;
    cmd.Parameters.Add(":desig", OracleType.VarChar, 30).Value = TextBox10.Text;
    cmd.Parameters.Add(":tol", OracleType.VarChar, 10).Value = DropDownList1.Text;
    cmd.Parameters.Add(":compdates", OracleType.VarChar, 30).Value = TextBox9.Text;
    cmd.Parameters.Add(":fd", OracleType.DateTime).Value = TextBox3.Text;
    cmd.Parameters.Add(":td", OracleType.DateTime).Value = TextBox4.Text;
    cmd.Parameters.Add(":nod", OracleType.Number, 3).Value = TextBox5.Text;
    cmd.Parameters.Add(":da", OracleType.DateTime).Value = TextBox11.Text;
    cmd.Parameters.Add(":ds", OracleType.DateTime).Value = TextBox7.Text;
    cmd.ExecuteNonQuery();
    ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('The Data has been added');window.location='Default2.aspx';</script>;");
}
catch
{
    Label13.Visible = true;
}

但是当我用存储的日期在另一个页面中填充 GridView 时,即使我没有输入时间戳,我也会得到一个时间戳。请告诉我如何从显示中删除时间戳!

提前致谢

这就是我填充gridview的方式

protected void Button3_Click(object sender, EventArgs e)
{
    string v = System.Configuration.ConfigurationManager.ConnectionStrings["harish"].ConnectionString;
    con = new OracleConnection(v);
    con.Open();
    cmd = new OracleCommand("select *  from leave_module1 where srno='"+DropDownList1.Text+"'", con);
    dr = cmd.ExecuteReader();

    GridView1.DataSource = dr;
    GridView1.DataBind();
    con.Close();
    dr.Close();
}
4

4 回答 4

2

因此,您正在查询数据库中的所有列,然后自动生成这些列。这就是显示所有列的原因。解决这个问题

  1. 调整查询以仅返回实际需要的列
  2. 禁用自动生成列并自己定义列。

您很少想使用自动生成的任何东西,因为您放松了调用控制来自定义行为和输出。

于 2012-06-26T17:54:14.210 回答
0

格式化查询中的数据或后面的代码(我会在查询中执行)以删除时间戳并仅显示数据。

于 2012-06-26T17:45:14.393 回答
0

您在代码中指定的类型是 DateTime,因此无论您是否指定时间组件,都会有一个时间组件。如果 Oracle 具有 Date 类型(我不是 Oracle 人,但我在当前项目中与 Oracle 交互)并且您有权进行更改,那么这是获得您所要求的最简单的方法。否则,每次使用数据剥离时间分量时,您都必须指定 .ToShortDateString() (或等效项)。

于 2012-06-26T17:52:33.523 回答
0

转到 GridView 的编辑列,将显示字段对话框。选择要删除时间部分的日期字段,然后在 DataFormatString 属性中输入 {0:d};单击确定。当您运行您的应用程序时,您的 gridview 列将仅显示日期部分。这对我有用。在该过程中转换为日期不起作用,并且在 RowDataBound() 处理程序上进行格式化很麻烦。

在此处输入图像描述

于 2012-08-31T20:41:12.200 回答