枚举一下两个段之间 所有可能的关系,然后用SQL查就是了,太简单了
解决方案 »
- 大哥大姐求帮助:C#中如何使Timer中的事件立即停止?
- PDF中XObject的数据解压缩后应该如何处理?
- 能不能让一个hyperlink看起来像一个button?
- 如何访问非静态变量(有实例),谢谢。
- 怎样控制窗体的最小尺寸?
- 求一数据库操作类及其调用实例
- C#判断是否为FLOAT
- C#网络编程,用TCP协议发送图片!~~~~~~
- 小问题,怎样增加一个判断语句判断
- vb如何调用c#开发的web项目中/bin目录下的.dll文件中的函数。
- 如何操作系统拔号网络,在程序中直接控制MODEM拔号上网?UP有分
- 请问我想写这相关一个关于时间字符串的格式,例如2004年01月23日这样的格式?应该怎么写?
DataTable table=ExeSQL(f,SQL);
if (table!=null)
{
string msg="";
int count=0;
string machine=(f.ControlList["PM_MP_MACHINE_ID"] as Xceed.Grid.Editors.GridComboBox).Text;
string shift=(f.ControlList["BEGINSHIFT"] as Xceed.Grid.Editors.GridComboBox).Text;
string stop=(f.ControlList["STOPTYPE"] as Xceed.Grid.Editors.GridComboBox).Text;
foreach (DataRow row in table.Rows)
{
DateTime Begin=DateTime.Parse(row[0].ToString());
DateTime End=DateTime.Parse(row[1].ToString());
if ((DateTime.Compare(StartDay,Begin)>=0 && DateTime.Compare(StartDay,End)<=0) || (DateTime.Compare(StartDay,Begin)<=0 && DateTime.Compare(EndDay,Begin)>=0))
{
++count;
msg+=count.ToString() + ". " + Begin.ToString("yyyy年MM月dd日") + " --> " + End.ToString("yyyy年MM月dd日") + " \t" + machine + " \t" + stop + "\t" + shift + "\n";
}
}
if (count>0)
{
MessageBox.Show("在机台、停用类型、开始班次相同的情况下,共有 " + count.ToString() + " 条记录与本记录在时间上存在重复。\n重复记录如下:\n\n" + msg,"记录重复!",MessageBoxButtons.OK,MessageBoxIcon.Information);
return new ReturnObject(false);
}
}
/// <summary>
/// 验证需要插入的尾码段是否出现重复
/// </summary>
/// <param name="insterParameter">需要插入的参数数组</param>
/// <returns>返回ture表示重复,返回false表示第一次新建或不重复</returns>
public bool GetQueryCaudalCode(Parameter[] insterParameter)
{
if(insterParameter.Length==0)
{
throw new ArgumentNullException("insterParameter");
}
int aCaudalStart = 0;
int aCaudalEnd = 0;
bool StartValue = false;
if(insterParameter.Length == 0)
{
throw new ArgumentNullException("insterParameter");
}
RC_PCSSFZWMDFPBData theDS=new IdentityIdDA().GetRC_PCSSFZWMBInfo(RC_PCSSFZWMDFPBData.TABLE_RC_PCSSFZWMDFPB,0);
if(theDS == null && theDS.Tables[0].Rows.Count < 0)
{
return false;
}
else
{
for(int i=0; i<insterParameter.Length;i++)
{
if(insterParameter[i].ParameterName==RC_PCSSFZWMDFPBData.F_SFZWMQSH)
{
aCaudalStart =int.Parse( insterParameter[i].ParameterValue.ToString());
}
if(insterParameter[i].ParameterName==RC_PCSSFZWMDFPBData.F_SFZWMZZH)
{
aCaudalEnd = int.Parse(insterParameter[i].ParameterValue.ToString());
}
}
foreach(DataRow aRow in theDS.Tables[RC_PCSSFZWMDFPBData.TABLE_RC_PCSSFZWMDFPB].Rows)
{
int CaudalStart = int.Parse(aRow[RC_PCSSFZWMDFPBData.F_SFZWMQSH].ToString());
int CaudalEnd = int.Parse(aRow[RC_PCSSFZWMDFPBData.F_SFZWMZZH].ToString());
if(aCaudalStart >= CaudalStart && aCaudalStart <=CaudalEnd)
{
StartValue=true;
}
if(aCaudalStart < CaudalStart && aCaudalEnd < CaudalEnd && aCaudalEnd > CaudalStart)
{
StartValue=true;
}
}
return StartValue;
} }
#endregion
我写了一个