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()));
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()));
相关文章推荐
- 后端分布式系列:分布式存储-MySQL 数据库事务与复制
- 后端分布式系列:分布式存储-MySQL 数据库事务与复制
- 后端分布式系列:分布式存储-MySQL 数据库事务与复制
- MySQL binlog 组提交与 XA(两阶段提交)
- 安装Lamp环境(MySQL)
- [转]数据库物化视图刷新SQL命令和查询被delete掉的数据
- mongodb mongod 启动参数
- 常用数据库字符串处理函数举例
- MySQL 数据库事务与复制
- spark sql介绍
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
- mysql连接查询
- MySQL中的事务
- MySQL Server 5.6 配置文件my.ini 以及windows上mysql表名区分大小写
- Oracle GoldenGate 异构平台同步(Mysql到Oracle)
- sql 语句
- 21分钟 MySQL 入门教程
- 利用drupal实现多站点共享同一数据库
- mysql备份脚本
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作