我们在开始程序的时候,经常会使用到数据库,所以也会经常写如下的SQL语句.
SELECT `ID`, `UUID`, `ItemName`, `Caption`, `Values`, `Remark`, `UserID`, `CREATE_TIME`, `UPDATE_TIME`
FROM `tymes`.`ns_sys_info_item`
WHERE `ID` = 1
LIMIT 0, 1;
然后在程序中可能以以下二种方式取得数据
DataTable.Rows[0][0].ToString(); 我们称为A
或DataTable.Rows[0]["ID"].ToString(); 我们称为B
如果是一个未完全开发完成的系统,搞不好那天要变更数据库的字段名称或是想返回更多或减少返回的数据列.
以上二种方式,你会选择那一种呢?
不用说,A可以解决变更数据库字段的问题,但要求,返回的数据要相对固定.且不能更改.也不能增加或减少返回字段
B呢,反之.可以增加或减少返回字段.但也会造成旧的那些已经写好的字段名称也要跟着更新.
有没有一种办法可以同时解决上面的问题呢?
答案是肯定的
如下面的SQL语句
SELECT `ID` AS `ID` ,UUID AS `UUID`
FROM `tymes`.`ns_sys_info_item`
WHERE `ID` = 1
LIMIT 0, 1;
这样,不管你在数据库里做了什么变动 只要AS 后面不变,那么就可以不用去改程序.
也不管你在那里增加或减少一个字段,而去更新其他的列.