求高手,帮我完善两行代码(关于判断单据是否审核)
求高手,帮我完善两行代码(关于判断单据是否审核)以下是判断单据是否审核的代码,是一个函数,
1.我将审核状体设成3种,未知,已审核,未审核,其中“未知”是针对数据库查询失败的情况(比如网络故障,此时sql操作失败,无法得到是否审核的正确状态)
2.我的判断一句合理吗?我判断“审核人”字段,为空字串表示未审核,有字符表示审核过了。
3.我的代码可以吗,又不严谨之处吗,帮我完善一下。
--------------------编程问答-------------------- 既然有 未知,已审核,未审核 三种状态 那就再表里添加一列 专门存放审核状态
//判断是否审核
public int Is_Shenhe(string strywdh,string strdddh)
{
string strshr = ""; //审核人编码
int iresult = 0; //0-未知,1-审核了,-1-没有审核
strsql = "select isnull(审核人,'') as 审核人 from scdd_调度单_Master ";
strsql += "where 业务单号='" +strywdh +"' and 调度单号='" + strdddh + "'";
try
{
command = new SqlCommand(strsql, mydb.conn);
strshr = (string)command.ExecuteScalar();
if (strshr == "")
iresult = -1; //未审核
else
iresult = 1; //已审核
}
catch
{
iresult = 0; //执行sql操作失败时,令状态为“未知”
}
return iresult;
}
0-未审核 1-审核 2-未知
0 1 从C#编码角度来说 0为假 false 1为真 true
字符串对比不注意的话会有很多问题 还是数字对比来得简单 --------------------编程问答--------------------
一般的库里面有审核状态或是啥的都会用一个字段去表示,里面的值去读枚举 --------------------编程问答-------------------- --------------------编程问答-------------------- 结分的 --------------------编程问答--------------------
没有明白你的意思? --------------------编程问答-------------------- 不知道你的strywdh或者strdddh 有一个“'”(单引号)的时候会不会报错!
^_^^_^^_^ --------------------编程问答-------------------- 对1楼回答的补充
肯定要增加一个状态字段,另增加一个用来保存登入编辑时候的状态字段,用来中途出错
或其它原因出错能恢复,还有一种“编辑中”的状态,当有人编辑的时候,其它人只能是只读的状态
每次在编辑前必须到数据库读取最新字段,判断是否有更改,
保存的时候也需要比对是否可以更新,
如果想更严谨些,可以增加一个“timestamp”类型的字段,是用来记录版本号,每次对数据库有更新,
此字段便会增加一个版本。 --------------------编程问答--------------------
你理解错误,至存放审核状态,就用“审核人”字段表示,为空表示未审核,不为空表示已审核。
我说的3种状态,是指,判断“审核人”字段时,如果网络断线,就会判断不成功,此时就是第3种状态(未知状态)
不可能在表里增加一个字段存这3个状态呀,一点用也没有呀。 --------------------编程问答--------------------
这两个是单号,使系统自动生产的,不会有单引号的。 --------------------编程问答-------------------- 安全起见 转化下如果有单引号就去掉 --------------------编程问答--------------------
然后在进行操作之前判断其状态就可以了!
(将数据读取出来,判断状态是否为true ,如果是,那么就可以操作;否则就不可以操作!)
补充:.NET技术 , C#