2016-07-30 129 views
1
ALTER PROCEDURE [Deal].[USP_LoadDealHistoryByDealId] 
    (@DealId int, 
    @chk int) 
AS 
    IF (@chk = 1) 
    BEGIN 
     SELECT 
      DDT.FieldType AS field, 
      DDT.OldValue as old, 
      DDT.NewValue as new, 
      AU.FullName AS Name, 
      DDT.UpdateOn AS UpdatedOn 
     FROM 
      [Deal].[DealTransaction] as DDT 
     INNER JOIN 
      AD.Users as AU ON AU.UserId = DDT.[UpdateBy] 
     WHERE 
      DDT.dealId = @DealId 
    END 
    ELSE if(@chk = 2) 
    BEGIN 
     SELECT 
      'No Data' as field , 
      0 as old , 
      0 as new , 
      AU.FullName AS Name, 
      DD.UpdatedOn AS UpdatedOn 
     FROM 
      AD.Users as AU 
     INNER JOIN 
      [Deal].[Deals] AS DD ON AU.UserId = DD.UploadedBy 
     WHERE 
      DD.dealId = @DealId 
    END 

UpdatedOn列数据类型datetime的,它显示了像10-09-1992/12.00我的HTML表格....但是我想告诉喜欢10-09-1992只是日期,我该怎么办?将日期时间更改为日期数据类型?

这里是我的HTML表格

public string LoadDealHistory(DealHistory aDealhistory) 
{ 
     StringBuilder html = new StringBuilder(); 

     try { 
      using (DealTranctionGateway dealTranctionGateway = new DealTranctionGateway()) 
      { 
       DataTable dt = new DataTable(); 
       dt = dealTranctionGateway.LoadDealHistory(aDealhistory); 

       string dealHistory = ""; 

       if (dt.Rows.Count > 0) 
       { 
        html.Append("<table class='table table-bordered'>"); 
        html.Append("<thead>"); 
        html.Append("<tr>"); 
        html.Append("<th>S.No</th>"); 
        html.Append("<th>FieldType</th>"); 
        html.Append("<th>OldValue</th>"); 
        html.Append("<th>NewValue</th>"); 
        html.Append("<th>Full Name</th>"); 
        html.Append("<th>UpdateOn</th>"); 
        html.Append("</thead>"); 
        html.Append("</tr>"); 

        for (int i = 0; i < dt.Rows.Count; i = i + 1) 
        { 
         int sNo = i + 1; 
         html.Append("<tr>"); 
         html.Append("<td>" + sNo + "</td>"); 
         html.Append("<td>" + dt.Rows[i]["field"] + "</td>"); 
         html.Append("<td>" + dt.Rows[i]["old"] + "</td>"); 
         html.Append("<td>" + dt.Rows[i]["new"] + "</td>"); 
         html.Append("<td>" + dt.Rows[i]["Name"] + "</td>"); 
         html.Append("<td>" + dt.Rows[i]["UpdatedOn"] + "</td>"); 
         html.Append("</tr>"); 
        } 

        html.Append("</tbody>"); 
        html.Append("</table>"); 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
     } 

     return html.ToString(); 
    } 
} 
+1

不要更改SQL,格式化HTML表格。 –

+0

这里的Plzz是我的HTML表格格式 –

+0

您使用哪种技术将数据绑定到html? –

回答

1

更新

试过这样:

string updateOn = ""; 
updateOn = ((DateTime)dt.Rows[i]["UpdatedOn"]).ToString("dd-MM-yyyy", CultureInfo.InvariantCulture); 
html.Append("<td>" + updateOn + "</td>"); 

OR

您可以使用格式日期时间在SQL:

更多格式at here

在你的情况下,它应该使用风格105

SELECT replace(convert(NVARCHAR, UpdatedOn, 105), ' ', '-') 
+0

我不能改变数据库表:( –

+0

我还没有测试。但我认为当数据适用于这个文本框将删除你不想要的字符 – vanloc

+0

我不输入任何数据我只是在HTML表格上显示它 –

0
Select convert(date,getdate()) 
0

你可以把它转换成字符串,如:

dt.Rows[i]["UpdatedOn"].ToString("dd-MM-yyyy") 

无需在SQL Server端进行任何更改,日期格式是一个前端的问题。

+0

非常感谢您的先生 –

+0

我的荣幸!如果任何答案可以帮助您,感受自由地upvote /接受他们。这是伟大的方式说谢谢!:) – gofr1

相关问题