문제

Dim MaxItemID As Integer
Dim objCMD As New SqlCommand(StrSql, objConn)  
MaxItemID = IIf(IsDBNull(objCMD.ExecuteScalar()), 0, objCMD.ExecuteScalar()) + 1

나는 어떻게 이에서는 C#?

도움이 되었습니까?

해결책

이 수행해야(그리고 실행되지 않도록 SQL 에 두 번):

var objCMD = new SqlCommand(StrSql, objConn);
var sqlRes = objCMD.ExecuteScalar();
int maxItemID = 1 + (Convert.IsDBNull(sqlRes) ? 0 : (int)sqlRes);

참고 VB 변환합니다 object 의 귀환 ExecuteScalar 하는 int 암시적으로하지만,C#하지 않습니다.

다른 팁

int MaxItemID = 0;
using(SqlCommand objCMD = new SqlCommand(StrSql, objConn))
{
    MaxItemID = (Converter.IsDBNull(objCMD.ExecuteScalar()) ? 0 : objCMD.ExecuteScalar()) + 1;
}
.
int MaxItemID;
SqlCommand objCMD =new SqlCommand (StrSql, objConn);
MaxItemID = IsDBNull(objCMD.ExecuteScalar()? 0: objCMD.ExecuteScalar()) + 1;
.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top