Components.DataConn a=new Components.DataConn(); string ConnStr=a.DataConnection();
         
MyConn=new OleDbConnection(ConnStr); string sqlstr="Select  * From MemberInfo "; OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sqlstr,MyConn); OleDbCommandBuilder custCB=new OleDbCommandBuilder(MyAdapter);

DataSet ds=new DataSet(); MyAdapter.Fill(ds,"Table"); DataRow dr=ds.Tables["Table"].NewRow(); ds.Tables["Table"].Rows.Add(dr); MyAdapter.Update(ds,"Table"); Response.Write(dr["id"].ToString());     MyConn.Close();
//感谢!

解决方案 »

  1.   

    数据插入后就是得不到当前的ID,我的是ACCESS数据库,不能用存贮过程!
      

  2.   

    那就加个字段,存Guid,通过Guid获得ID
      

  3.   

    我的数据库中的个MemberID字段;MemberID=100000+dr["id"]//所有需要取得当前id!
      

  4.   

    SELECT @@IDENTITY
    插入数据后执行这条SQL语句,就可以获取到编号,两个操作必须在同一个连接中进行.
      

  5.   

    同意楼上的CREATE PROCEDURE sp_AddMarketTradeInfo (
    @Title nvarchar(100),
    @CatalogId int,
    @KeyWord nvarchar(1000),
    @Source nvarchar(100),
    @Content text,
    @Pic nvarchar(400),
    @MemberId int,
    @LanguageVer nvarchar(50),
    @grade int,
    @PubRole nvarchar(50),
    @AuditingState int
    )AS
    /* SET NOCOUNT ON */
    declare @ReturnValue int

    Insert t_MarketTradeInfo 
    (
    Title,
    CatalogId,
    KeyWord,
    Source,
    Content,
    Pic,
    MemberId,
    Language_Ver,
    grade,AuditingState,
    PubRole
    )
    values
    (
    @Title,
    @CatalogId,
    @KeyWord,
    @Source,
    (@Content),
    @Pic,
    @MemberId,
    @LanguageVer,
    @grade,@AuditingState,
    @PubRole
    )

        select @@IDENTITY
    GO
    返回插入成功的id的存储过程
      

  6.   

    SELECT @@IDENTITYselect SCOPE_IDENTITY()
      

  7.   

    我的是ACCESS能用存贮过程吗????
      

  8.   

    SELECT @@IDENTITY
    Access也支持这条语句.
      

  9.   

    在设计表结构时,将你的ID设置为自动增加。然后用 select max(id) from MemberInfo 就可以获得你的最新插入的ID的值啦。