'String'에 해당되는 글 1건

  1. 2012/09/04 글뻥 MSSQL Char(n)에다 C#에서 데이터 넣을 때 (2)
올만에 쓰는 기술 팁인듯...

암튼, 최근 SNG게임 만들면서 황당한 상황을 만났다.

This article is just a reference of SQL Data Types to C# Data Types.

SQL Server data typeCLR data type (SQL Server)CLR data type (.NET Framework)
varbinarySqlBytes, SqlBinaryByte[]
binarySqlBytes, SqlBinaryByte[]
varbinary(1), binary(1)SqlBytes, SqlBinarybyte, Byte[]
imageNoneNone
varcharNoneNone
charNoneNone
nvarchar(1), nchar(1)SqlChars, SqlStringChar, String, Char[]
nvarcharSqlChars, SqlStringString, Char[]
ncharSqlChars, SqlStringString, Char[]
textNoneNone
ntextNoneNone
uniqueidentifierSqlGuidGuid
rowversionNoneByte[]
bitSqlBooleanBoolean
tinyintSqlByteByte
smallintSqlInt16Int16
intSqlInt32Int32
bigintSqlInt64Int64
smallmoneySqlMoneyDecimal
moneySqlMoneyDecimal
numericSqlDecimalDecimal
decimalSqlDecimalDecimal
realSqlSingleSingle
floatSqlDoubleDouble
smalldatetimeSqlDateTimeDateTime
datetimeSqlDateTimeDateTime
sql_variantNoneObject
User-defined type(UDT)user-defined typeNone
tableNoneNone
cursorNoneNone
timestampNoneNone
xmlSqlXmlNone

위의 표를 자세히 보면 MSSQL char 타잎은 .NET CLR에서 지원하지 않는다. (뭥미...?)
그래서 이리저리 테스트해본 결과...
배열인 Char[]은 지원하고 있다는 사실을 발견하였고,
현재는 이렇게 해서 문제를 해결하고 있다.

        public bool joinmember(string DeviceID, string herotype)
        {
               //LINQSQL 선언부 생략 
 //herotype이 Char(1)이다. 
                um.herotype = (Char)herotype.ToCharArray(0,1)[0]; 

               //중략
                db.userMaster.InsertOnSubmit(um);
               //후략
         }


여기에 맞추기 위해 일단 string으로 받아서 CharArray로 변환후에 [0]번째 Char로 돌려 주는 거다.

상세히 보면, String -Char[]변환->Char[]중 [0]번째만 Return -> Char
복잡하기는 하지만 잘 작동중.
2012/09/04 15:54 2012/09/04 15:54