DetailView控件中如何绑定时间?时间参数如何传递给DetailView控件?

tz_xiong 2006-03-18 12:32:30
我用VS2005自带的SqlDataSource控件和GridView以及DetailView控件很快速的就可以做一个留言板,但是遇到一个问题,我想在留言的时候自动填充到时间参数到数据库里面,在GridView里面就可以看到留言时间了,想写一个传递时间参数的脚本,但是不知道如何绑定时间参数到DetailView控件,请高手帮帮忙!附上DetailView控件源代码:

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" BackColor="White"
BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="留言序号"
DataSourceID="SqlDataSource1" DefaultMode="Insert" GridLines="Horizontal" Height="50px"
Width="125px">
<Fields>
<asp:BoundField DataField="留言序号" HeaderText="留言序号" InsertVisible="False" ReadOnly="True"
SortExpression="留言序号" />
<asp:BoundField DataField="Name" HeaderText="姓名" SortExpression="Name" />
<asp:BoundField DataField="QQ" HeaderText="QQ" SortExpression="QQ" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:BoundField DataField="Content" HeaderText="留言内容" SortExpression="Content">
<ControlStyle Height="120px" Width="300px" />
</asp:BoundField>
<asp:BoundField DataField="Time" HeaderText="留言时间" InsertVisible="False" ShowHeader="False"
SortExpression="Time" Visible="False" />
<asp:CommandField InsertText="提交留言" ShowInsertButton="True" />
</Fields>
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<AlternatingRowStyle BackColor="#F7F7F7" />
</asp:DetailsView>

好像没有一个传递参数的地方.
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
如果是Access能不能用这个函数呢?
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
怎么给分呢,不知道怎么给,

提示说:
贴子回复次数大于跟给分次数
dh20156 2006-03-18
  • 打赏
  • 举报
回复
SQL数据库里的函数。
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
呵呵,谢谢你!成功了,真的不可思议,为什么GetDate()不用"+ +"引起来呢?不是很了解他的原理,还有GetDate是哪儿的函数呢?
dh20156 2006-03-18
  • 打赏
  • 举报
回复
InsertCommand="INSERT INTO [liuyan] ([Name], [QQ], [Email], [Content], [Time]) VALUES (@Name, @QQ, @Email, @Content, '"+ Now() +"')"
试试这样改:
InsertCommand="INSERT INTO [liuyan]([Name],[QQ],[Email],[Content],[Time]) VALUES (@Name,@QQ,@Email,@Content,getDate())"
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
后来我又想只要把@Time的绑定属性能赋值就可以了,于是我在绑定Time的地方加上了一句:DefaultValue='"+Date.Now.ToLocalTime+"'

代码如下:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:StudentConnectionString %>"
DeleteCommand="DELETE FROM [liuyan] WHERE [留言序号] = @留言序号" InsertCommand="INSERT INTO [liuyan] ([Name], [QQ], [Email], [Content], [Time]) VALUES (@Name, @QQ, @Email, @Content, '"+ Now() +"')"
SelectCommand="SELECT * FROM [liuyan]" UpdateCommand="UPDATE [liuyan] SET [Name] = @Name, [QQ] = @QQ, [Email] = @Email, [Content] = @Content, [Time] = @Time WHERE [留言序号] = @留言序号">
<DeleteParameters>
<asp:Parameter Name="留言序号" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="QQ" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="Content" Type="String" />
<asp:Parameter Name="Time" Type="DateTime" />
<asp:Parameter Name="留言序号" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="QQ" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="Content" Type="String" />
<asp:Parameter Name="Time" DefaultValue='"+Date.Now.ToLocalTime+"' Type="DateTime" />
</InsertParameters>
</asp:SqlDataSource>

但是运行之后提示:

该字符串未被识别为有效的 DateTime。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.FormatException: 该字符串未被识别为有效的 DateTime。
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
我以前试过,就是把Insert语句中的@Time 换成 '"+ DateTime.Now +"',但是提示说'"+ DateTime.Now +"'不是它的有效属性.
dh20156 2006-03-18
  • 打赏
  • 举报
回复
你可以在InsertCommand里直接写插入当前时间。
tz_xiong 2006-03-18
  • 打赏
  • 举报
回复
怎么没有人理我?在线等啊!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧