您的位置:首页 > 数据库

C#Enum类型向sqlserver插入问题

2015-11-03 22:21 232 查看
最近做一个项目,数据库中有两个表分别为保存任务的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()));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: