2009-11-13 4 views
0

테이블의 마지막 신원을 얻으려고합니다 image.테이블의 마지막 신원 확인

다음 코드는 작동하지 않습니다 : 내가 마지막 행을 삭제하더라도 내가 마지막으로 자동 생성 된 ID를 얻을 수 있도록

SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["DSN"]); 
SqlCommand ident = new SqlCommand("SELECT IDENT_CURRENT(‘image’)", connection); 
connection.Open(); 
id = Convert.ToInt32(ident.ExecuteScalar()); 

나는이 필요합니다.

답변

0

MySQL의 경우 코드가 제대로 작동하는 것처럼 보입니다. 명령이 작동하지 않으면 어떤 오류 메시지가 나타 납니까?

SQL 서버의 경우, sys.identity_columns 테이블에서 마지막으로 생성 된 ID를 검색 할 수 있습니다

select last_value 
where name = 'ColumnName' 
and object_id = object_id('TableName') 
0

내 응용 프로그램이 서버에 파일을 업로드하고 DB에 저장하고 각각에 대한 제거 링크 (GridView에 바인딩 나는 같은 마지막 ID마다 무엇입니까 LAST_VALUE 사용하는 경우 행)

SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["DSN"]); 
SqlCommand ident = new SqlCommand("select LAST_VALUE where name = 'Id' and object_id = object_id('image')", connection); 
connection.Open(); 
id = Convert.ToInt32(ident.ExecuteScalar()); 

_fileName = fileName; 

_fullFileName = _outputPath + (id + 1).ToString() + prefix + Path.GetFileName(_fileName); 

_fs = new FileStream(_fullFileName, FileMode.Create); 

내 문제는 어디 갔지 그 n 아래에 나와있는 것처럼 MAX(Id)을 사용하고 있었는데 누군가가 마지막 행이나 MAX 행을 삭제할 때 내 신분을 잃을 때까지 괜찮 았기 때문에 ID 열의 마지막 값이 아닌 마지막 자동 인식 ID를 얻으려고합니다.

SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["DSN"]); 
SqlCommand ident = new SqlCommand("SELECT MAX(Id) from image", connection); 
connection.Open(); 

SqlDataReader result = ident.ExecuteReader(); 
result.Read(); 

object obValue = result.GetValue(0); 
id = Convert.ToInt32(obValue.ToString()); 

connection.Close(); 
1
SELECT 
SCHEMA_NAME(OBJECTPROPERTY(C.OBJECT_ID, 'SCHEMAID')) AS [SCHEMA NAME], 
OBJECT_NAME(C.OBJECT_ID) AS [TABLE NAME], C.NAME AS [COLUMN NAME], 
T.NAME AS [COLUMN DATA TYPE],SEED_VALUE, 
INCREMENT_VALUE,LAST_VALUE AS CURRENTMAXVALUE 
FROM SYS.IDENTITY_COLUMNS C INNER JOIN SYS.TYPES T ON C.USER_TYPE_ID = T.USER_TYPE_ID 
WHERE COLUMNPROPERTY(OBJECT_ID, C.NAME, 'ISIDENTITY') = 1 
AND LAST_VALUE IS NOT NULL 
ORDER BY LAST_VALUE DESC 
0

SELECT IDENT_CURRENT ('이미지') - 당신을 가정 한

1

에 의해 increamenting된다