zoukankan      html  css  js  c++  java
  • 利用WebService制作简易的列车时刻表

    火车列车时刻表webservice:http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx

    前台代码:

    前台代码
     1 <body>
     2     <form id="form1" runat="server">
     3         <div>
     4             始发站:
     5             <asp:TextBox ID="txtStartStation" runat="server"></asp:TextBox>
     6             到达站:<asp:TextBox ID="txtArrivateStation" runat="server"></asp:TextBox><asp:Button
     7                 ID="btnSubmit" runat="server" Text="检索" OnClick="btnSubmit_Click1" />
     8             <asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
     9                 <Columns>
    10                     <asp:BoundField DataField="TrainCode" HeaderText="车次" />
    11                     <asp:BoundField DataField="FirstStation" HeaderText="始发站" />
    12                     <asp:BoundField DataField="LastStation" HeaderText="终点站" />
    13                     <asp:BoundField DataField="StartStation" HeaderText="发车站" />
    14                     <asp:BoundField DataField="StartTime" HeaderText="发车时间" />
    15                     <asp:BoundField DataField="ArriveStation" HeaderText="到达站" />
    16                     <asp:BoundField DataField="ArriveTime" HeaderText="到达时间" />
    17                     <asp:BoundField DataField="KM" HeaderText="里程" />
    18                     <asp:BoundField DataField="UseDate" HeaderText="历时" />
    19                 </Columns>
    20             </asp:GridView>
    21         </div>
    22     </form>
    23 </body>

    后台代码:

    public DataTable CreateDataTableType()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("TrainCode", typeof(string));
            dt.Columns.Add("FirstStation", typeof(string));
            dt.Columns.Add("LastStation", typeof(string));
            dt.Columns.Add("StartStation", typeof(string));
            dt.Columns.Add("StartTime", typeof(string));
            dt.Columns.Add("ArriveStation", typeof(string));
            dt.Columns.Add("ArriveTime", typeof(string));
            dt.Columns.Add("KM", typeof(string));
            dt.Columns.Add("UseDate", typeof(string));
            return dt;
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
           
        }
        protected void btnSubmit_Click1(object sender, EventArgs e)
        {
            Train.TrainTimeWebService ttws = new Train.TrainTimeWebService();
            DataSet ds = ttws.getStationAndTimeByStationName(this.txtStartStation.Text.Trim(), this.txtArrivateStation.Text.Trim(), "");
            DataTable newdt = CreateDataTableType();
            if (ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
                return;
            this.gv.DataSource = ds.Tables[0];
            this.gv.DataBind();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow dr = newdt.NewRow();
                dr["TrainCode"] = ds.Tables[0].Rows[i]["TrainCode"].ToString();
                dr["FirstStation"] = ds.Tables[0].Rows[i]["FirstStation"].ToString();
                dr["LastStation"] = ds.Tables[0].Rows[i]["LastStation"].ToString();
                dr["StartStation"] = ds.Tables[0].Rows[i]["StartStation"].ToString();
                dr["StartTime"] = ds.Tables[0].Rows[i]["StartTime"].ToString();
                dr["ArriveStation"] = ds.Tables[0].Rows[i]["ArriveStation"].ToString();
                dr["ArriveTime"] = ds.Tables[0].Rows[i]["ArriveTime"].ToString();
                dr["KM"] = ds.Tables[0].Rows[i]["KM"].ToString();
                dr["UseDate"] = ds.Tables[0].Rows[i]["UseDate"].ToString();
                newdt.Rows.Add(dr);
            }
            using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=DEMO;Integrated Security=True"))
            {
                con.Open();
                using (SqlTransaction tran = con.BeginTransaction())
                {
                    try
                    {
                        string strDel = "Delete Train where TrainCode in (select TrainCode from @dt)";
    
                        string strSql = "Insert into Train([TrainCode],[FirstStation],[LastStation],[StartStation],[StartTime],[ArriveStation],[ArriveTime],[KM],[UseDate]) select [TrainCode],[FirstStation],[LastStation] ,[StartStation],[StartTime],[ArriveStation],[ArriveTime],[KM],[UseDate] from @dt";
                        SqlCommand cmd = new SqlCommand(strDel, con);
                        cmd.Transaction = tran;
                        SqlParameter sp = new SqlParameter("@dt", SqlDbType.Structured);
                        sp.TypeName = "typetrain";
                        sp.Value = newdt;
                        cmd.Parameters.Add(sp);
                        cmd.ExecuteNonQuery();
                        cmd.Parameters.Clear();
                        cmd.CommandText = strSql;
                        cmd.Parameters.Add(sp);
                        cmd.ExecuteNonQuery();
                        tran.Commit();
                    }
                    catch (Exception ex)
                    {
                        tran.Rollback();
                    }
                }
            }
        }

    数据库表值变量类型:

    表值变量类型
     1 CREATE TYPE [dbo].[typetrain] AS TABLE(
     2     [TrainCode] [nvarchar](50) NOT NULL,
     3     [FirstStation] [nvarchar](50) NULL,
     4     [LastStation] [nvarchar](50) NULL,
     5     [StartStation] [nvarchar](50) NULL,
     6     [StartTime] [datetime] NULL,
     7     [ArriveStation] [nvarchar](50) NULL,
     8     [ArriveTime] [datetime] NULL,
     9     [KM] [decimal](18, 0) NULL,
    10     [UseDate] [time](7) NULL,
    11     PRIMARY KEY CLUSTERED 
    12 (
    13     [TrainCode] ASC
    14 )WITH (IGNORE_DUP_KEY = OFF)
    15 )
    16 GO
  • 相关阅读:
    时间记录日志
    软件工程作业02
    个人学习进度(第二周)
    《大道至简》第二章读后感
    《大道至简》第一章读后感
    构建之法阅读笔记02
    构建之法阅读笔记01
    web开发
    Tomcat的安装与环境配置
    java-10异常处理动手动脑
  • 原文地址:https://www.cnblogs.com/hfliyi/p/2681732.html
Copyright © 2011-2022 走看看