检查两个日期之间的两个日期 [英] check two dates between two dates

查看:113
本文介绍了检查两个日期之间的两个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


是否有任何代码可以找到约会可用性。

我想比较来自数据库的两个日期和用户从文本框输入的另外两个日期。

用户从asp.net文本框中插入两个日期,start_date和end_date如果在这两个数据之间找到任何数据,则在数据库中显示消息slot allready book,否则预订成功。

帮助我

提前感谢



这是我的表定义



< img src =http://s12.postimg.org/5gb83qfnx/database_design.png>< / img>



我插入了一些数据

< img src =http://s10.postimg.org/423vmgjqh/tabledata.png> < / img>



这是我的asp.net页面设计

< img src = http://s11.postimg.org/opkagl54z/form.png\"></img>



i使用此代码但无法正常工作

  protected   void  Button1_Click( object  sender,EventArgs e)
{
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand cmd_read = new SqlCommand( select start__date,end__date from meeting,con);
SqlDataReader dr = cmd_read.ExecuteReader();
while (dr.Read())
{
start = Convert.ToDateTime(dr [ 0 ]的ToString());
end = Convert.ToDateTime(dr [ 1 ]。ToString());

DateTime str1 = DateTime.Parse(TextBox2.Text);
DateTime str2 = DateTime.Parse(TextBox3.Text);
if ((str1 > start&& str1 < end)||(str2 > start&& str2 < 结束))
{
Label5.Text = 已经预订;
break ;
}
else {
Label5.Text = 可用;
break ;
}
}

con.Close();
}



尽快帮助我......

解决方案

您可以通过存储过程解决它。





 创建  PROCEDURE  CHECKMEETINGDATE 

@ TXTDATE1 NVARCHAR 10
@ TXTDATE2 NVARCHAR 10

AS
BEGIN
SET NOCOUNT ON
IF SELECT TOP 1 1 FROM 会议 WHERE @ TXTDATE1 BETWEEN start_date AND end_date)
BEGIN
SELECT ' 已预订'
END
ELSE IF SELECT TOP 1 1 FROM 会议 WHERE @ TXTDATE2 BETWEEN start_date AND end_date)
BEGIN
END
SELECT < span class =code-string>' 已预订'
ELSE
BEGIN
SELECT ' 可用'
END
SET NOCOUNT 关闭
END


Hi is there any code to find appointment availability.
i want to compare two dates that come from database and two other date that user input from textbox.
User insert two date, start_date and end_date from asp.net textbox if between those 2 data any data were find in database it show message "slot allready book" else "booking successful".
Help me
thanks in advance

this is my table definition

<img src="http://s12.postimg.org/5gb83qfnx/database_design.png"></img>

I have inserted some data
<img src="http://s10.postimg.org/423vmgjqh/tabledata.png"></img>

And this is my asp.net page design
<img src="http://s11.postimg.org/opkagl54z/form.png"></img>

i use this code but not work properly

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(str);
    con.Open();
    SqlCommand cmd_read = new SqlCommand("select start__date,end__date from meeting", con);
    SqlDataReader dr = cmd_read.ExecuteReader();
    while (dr.Read())
    {
        start =Convert.ToDateTime( dr[0].ToString());
        end = Convert.ToDateTime(dr[1].ToString());

        DateTime str1 = DateTime.Parse(TextBox2.Text);
        DateTime str2 = DateTime.Parse(TextBox3.Text);
        if((str1 > start && str1 < end) || (str2 > start && str2 < end))
        {
    Label5.Text = "Already Booked";
    break;
        }
        else{
            Label5.Text = "Available";
            break;
        }
    }

    con.Close();
}


Help me soon...

解决方案

you can solve it by stored procedure.


CREATE PROCEDURE CHECKMEETINGDATE
(
    @TXTDATE1   NVARCHAR(10)
    , @TXTDATE2 NVARCHAR(10)
)
AS
BEGIN
    SET NOCOUNT ON
        IF(SELECT TOP 1 1 FROM Meeting WHERE @TXTDATE1 BETWEEN start_date AND end_date)
        BEGIN
            SELECT 'Already Booked'
        END
        ELSE IF (SELECT TOP 1 1 FROM Meeting WHERE @TXTDATE2 BETWEEN start_date AND end_date)
        BEGIN
        END
            SELECT 'Already Booked'
        ELSE
        BEGIN
            SELECT 'Available'
        END
    SET NOCOUNT OFF
END


这篇关于检查两个日期之间的两个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆