C#Enum类型向sqlserver插入问题

版权声明:本文为博主原创文章,欢迎转载,转载时请注明链接。 https://blog.csdn.net/hunter_yang_Tuziki/article/details/49623265

最近做一个项目,数据库中有两个表分别为保存任务的Tasks和保存数据的Codes,两个表分别有两个字段标识任务和数据的进行(使用)状态,数据库中这两个字段都为vachar

C#中我用enum来保存它们的状态分别为TaskStatus和CodeStatus,因为任务和数据向数据库中导入方式不同,我发现存入数据库的两个状态量也不同。

例如TaskStatus.Complete存到数据库中编程了“0”,而CodeStatus.Scaned存到数据库中则是Scaned。一时很纠结

后来发现,因为数据的导入方式影响了导入结果

表Tasks的数据是用SqlCommand  myComm通过设置myComm.CommandText=@"Insert into……"添加myComm.Parameters.Add(new SqlParameter("@TaskStatus",TaskStatus.Complete));结果就是存入了数字”0“.

表Codes的数据是使用SqlBulkCopy,在DataTable table中添加table.Rows[row]["CodeStatus"] = CodeStatus.Scaned;然后把table写到sql中的。结果存入了字符串”Scaned“

要想在Tasks中存入字符串需要如下更改myComm.Parameters.Add(new SqlParameter("@TaskStatus",TaskStatus.Complete.ToString()));

猜你喜欢

转载自blog.csdn.net/hunter_yang_Tuziki/article/details/49623265