select @@IDENTITY from t_xxnr
最好用存储过程,传入输入参数的值,再用输出参数返回记录编号

解决方案 »

  1.   

    最好自己定义一个字段作为自增加的IDs,在存储过程中每增加一个记录此IDs值也自动增加1,这样无论读取还是操作都会很方便。
      

  2.   

    try something like (you need to fill in the details):cmdtxt = "insert into t_xxnr (...) values (@bt,.....) ; select scope_identity()";
    SqlCommand mysql=new SqlCommand(cmdtxt,this.sqlConnection1);
    //parameters here
    mysql.Parameters.Add("@bt",this.txt_bt.Text);
    //....
    this.sqlConnection1.Open();
    int_xxid =(int)mysql.ExecuteScalar();
    this.sqlConnection1.Close();
      

  3.   

    不过,还是谢谢各位大侠。
    我现将我的解决方案贴出:
    1、定义存储过程如下:
    CREATE PROCEDURE dbo.insertmes
    @bt varchar(50),
    @nr varchar(1000),
    @fj1 varchar(50),
    @fj2 varchar(50),
    @bz bit,
    @czr char(10),
    @xxid int OUTPUT 
    AS
    INSERT INTO t_xxnr
        (bt, nr, fj1, fj2, bz, sj, czr)
    VALUES (@bt, @nr, @fj1, @fj2, @bz, GETDATE(), @czr);
    SET @xxid=@@IDENTITY
    GO
    然后再给存储过程赋参数值,在提交事件中。如下:
    SqlCommand mysql=new SqlCommand("dbo.insertmes",this.sqlConnection1);
    mysql.CommandType=CommandType.StoredProcedure;
    mysql.Parameters.Add(new SqlParameter("@bt",SqlDbType.NVarChar,50));
    mysql.Parameters["@bt"].Value=this.txt_bt.Text;
    mysql.Parameters.Add(new SqlParameter("@nr",SqlDbType.NVarChar,1000));
    mysql.Parameters["@nr"].Value=this.txt_nr.Text;
    mysql.Parameters.Add(new SqlParameter("@fj1",SqlDbType.NVarChar,50));
    mysql.Parameters["@fj1"].Value=filename1;
    mysql.Parameters.Add(new SqlParameter("@fj2",SqlDbType.NVarChar,50));
    mysql.Parameters["@fj2"].Value=filename2;
    mysql.Parameters.Add(new SqlParameter("@bz",SqlDbType.Bit));
    mysql.Parameters["@bz"].Value=0;
    mysql.Parameters.Add(new SqlParameter("@czr",SqlDbType.Char,10));
    mysql.Parameters["@czr"].Value=username;
    mysql.Parameters.Add(new SqlParameter("@xxid",SqlDbType.Int,4));
    mysql.Parameters["@xxid"].Direction=ParameterDirection.Output;
    this.sqlConnection1.Open();
    this.sqlInsertCommand1.ExecuteNonQuery();
    int_xxid=(int)mysql.Parameters["@xxid"].Value;
    谢谢!请帮助将我结贴