SQLServer数据库插入数据并同时把插入数据行的 自增列 的值取出来

string sql = string.Format(@"INSERT INTO [OA_WEB_DB].[dbo].[OA_DT_File] ([FileTypeId],[Content],[Title],[Operater],CreateTime,UpdateTime,[IsSave],[Deleted],[Memo]) values
             ({0},{1},{2},{3},GETDATE(),GETDATE(),{4},{5},{6});SELECT @newsId = SCOPE_IDENTITY();INSERT INTO [OA_WEB_DB].[dbo].[OA_DT_FileAcceptUser]([File_Id],[AcceptUser],[AcceptDept],[Memo]) VALUES(SCOPE_IDENTITY(),{7},{8},{9})",
            "@fileTypeId", "@content", "@title", "@operater", "@isSave", "@deleted", "@memo", "@acceptUser", "@acceptDept", "@memom");
            SqlCommand cmd = new SqlCommand(sql);
            string connStr = ConfigurationSettings.AppSettings["constr"];
            cmd.Connection = new SqlConnection(connStr);
            cmd.Parameters.Add(new SqlParameter("@fileTypeId",fle.FileTypeId));
            cmd.Parameters.Add(new SqlParameter("@content",fle.Content));
            cmd.Parameters.Add(new SqlParameter("@title", fle.Title));
            cmd.Parameters.Add(new SqlParameter("@operater", fle.Operater));
            cmd.Parameters.Add(new SqlParameter("@isSave", fle.IsSave));
            cmd.Parameters.Add(new SqlParameter("@deleted", fle.Deleted));
            cmd.Parameters.Add(new SqlParameter("@memo", fle.Memo));
            cmd.Parameters.Add(new SqlParameter("@acceptUser", flea.AcceptUser));
            cmd.Parameters.Add(new SqlParameter("@acceptDept", flea.AcceptDept));
            cmd.Parameters.Add(new SqlParameter("@memom", flea.Memo));
            SqlParameter parm = new SqlParameter("newsId",SqlDbType.Int);
            parm.Direction = ParameterDirection.Output;
            cmd.Parameters.Add(parm);
            cmd.Connection.Open();
            int iRet = cmd.ExecuteNonQuery();
            cmd.Connection.Close();
            //string newId = Convert.ToString(Convert.ToInt32("0x" + cmd.Parameters["newsId"].Value, 16), 10);
            string newId = Convert.ToString(cmd.Parameters["newsId"].Value);
            return newId;

SELECT @newsId = SCOPE_IDENTITY()这句话就是把插入行的自增列ID取出来放到 变量 @newsId 中,并把变量输出,string newId = Convert.ToString(cmd.Parameters["newsId"].Value); 取出自增列的 id

posted on 2013-03-30 12:57  小东北  阅读(912)  评论(0编辑  收藏  举报