在asp.net中如何获得最新发表的id

【后退】
楼主     发布时间:2006-9-30 12:04:45  点击:29次

作者:过客
    在asp.net中如何获得最新发表的id

比如我发表了一个主题,由于id是自动编号产生的,如何在插入记录以后马上得到它的id呢?
如果用cmd.ExecuteNonQuery()直接赋值给一个变量,好像是能得到执行次数的,不过如何得到id呢?
在asp中,直接用conn.execute("select top 1 id from bbs order by id desd")(0)赋值给一个变量就行,在.net中呢?

第1楼     发布时间:2006-9-30 12:10:11  点击:次

作者:过客
    re:在asp.net中如何获得最新发表的id

有没有最简单的方法,如果只查询一个数字也要执行绑定,那太不值了,还有最好不要用cookie,session

第2楼     发布时间:2006-9-30 15:04:20  点击:次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    re:在asp.net中如何获得最新发表的id

你参考一下ASP.NET案例教程中5.2节的第一个例子,不过可能需要将SQL语句修改为:
   "Select Top 1 id From 表 Order By Id Desc"
如果担心有混淆,可以再加一个用户名等条件,一定可以返回。

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
    Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("address.mdb"))                                        '建立Connection对象
    Dim strSql As String = "Select Count(*) As total From users"
    Dim cmd As New OleDbCommand(strSql, conn)                            '建立Command对象
    conn.Open
    message.Text="表users中共有 " & cmd.ExecuteScalar() & " 条记录"        '返回记录总数
    conn.Close
End Sub
</script>
<html>
<body>
<h3 align="center">使用SQL语句返回记录总数示例</h3>
<form runat="server">
    <asp:Label id="message" runat="server"/>
</form>
</body>
</html>

第3楼     发布时间:2006-9-30 16:29:54  点击:次

作者:过客
    re:在asp.net中如何获得最新发表的id

我要得到的是最新发表主题的id,不是执行次数
比如在论坛里面,发表新主题以后,就要修改主题所在板块最后更新帖子为刚刚插入记录的id,也就是要在自定义类中实现以下操作:
插入主题>>>>>获得新主题id>>>>>>更新板块最新帖子为该id

第4楼     发布时间:2006-9-30 16:38:32  点击:次

作者:过客
    re:在asp.net中如何获得最新发表的id

明白了,成功了,谢谢尚老师,不过能再讲一下这一类型的返回值类型吗?
ExecuteNonQuery(),ExecuteScalar()
还有别的吗(用得着的)?

【后退】

知行网 www.zhixing123.cn