这是我用在论坛或者发表文章时候用的.假设我的论坛有主题,与贴子,主题呢就是显示所有问题主题的例表,而贴子就是存放所有问题,
主题表为 topic 有 id 自动编号 title
贴子表为publish id自动编号 rootid主题ID号 title
当我发表一个新的贴子的时候.就在topic里面添加了一个新的记录,此时自动编号ID值就会有一个值,我想在topic添加完一个记录后,ID自动生成的值,返回来,,然后再在publish里面添加新的记录,而且rootid就是topic自动生成ID的值,,,有谁可以告诉我怎么样做吗.如何可以取得返回的ID值,,给出详细的代码或者例子,谢谢了..方法可以用在access或者是mssql也行的.谢谢各位大侠了
主题表为 topic 有 id 自动编号 title
贴子表为publish id自动编号 rootid主题ID号 title
当我发表一个新的贴子的时候.就在topic里面添加了一个新的记录,此时自动编号ID值就会有一个值,我想在topic添加完一个记录后,ID自动生成的值,返回来,,然后再在publish里面添加新的记录,而且rootid就是topic自动生成ID的值,,,有谁可以告诉我怎么样做吗.如何可以取得返回的ID值,,给出详细的代码或者例子,谢谢了..方法可以用在access或者是mssql也行的.谢谢各位大侠了
第一个:
在SQL中可以用@IDENTITY来获取SQL服务器前一次自动生成的UnixxxIdentity值
如:
SELECT @IDENTITY
(注意:如果访问SQL的用户多,也许不能得到正确的值;家里没有SQL帮助,上面的关键字也许不对)第二个:
首先,让SQL为你生成一个ID,把它保存起来
SELECT newid()
然后,把刚才得到的ID加到INSERT INTO语句的字段列表和值列表中.
INSERT INTO Topic (id,title) VALUES (ID,TITLE)
INSERT INTO publish (rootid,title) VALUES (ID,TITLE)
rs.addnew
rs("name")="testname"
rs("othercol")="othercol"
rs.update
newid=rs("id")
rs.close
...
newid就是记录的ID
xrwang(无涯) ( ) 你可以说详细点吗?
老大们,我这个问题问很久了,没有人给我答复吗
//初始化cmd
//执行将数据添加在TOPIC表里面的操作
//下面2句获取系统生成的ID
cmd.CommandText="SELECT @IDENTITY";
System.Guid newid=(System.Guid)SqlCommand.ExecuteScalar(); //注意,为了简便,这里没有异常处理
//这里再添加数据到publish
/...
我家里没有安装SQL.
(注意:ACCESS里的自动编号字段总是不断增加的)
OleDbCommand cmd=new OleDbCommand();
//初始化cmd
//执行将数据添加在TOPIC表里面的操作
//下面2句获取系统生成的ID
cmd.CommandText="SELECT TOP 1 [id] FROM Topic ORDER BY [id] DESC";
int newid=(int)cmd.ExecuteScalar(); //注意,为了简便,这里没有异常处理
//这里再添加数据到publish
/...