Computer - Communication - Control. 3C INC

 
Search
Nhiều người quan tâm
Làm sao lập trình TIẾNG VIỆT vỚI “LẬP TRÌNH C TRÊN WINDOWS”
Cách lập trình điều khiển các con số trên máy tính
CRC (Cyclic Redundancy Check)
Lệnh Print và Write trong VB6
Trong Java, làm thế nào để lấy processor ID (CPU)?
Skip List - đối thủ của cây cân bằng

Lập trình


In bài này Gửi bài viết này cho bạn bè
(Thứ Hai, 18/08/2008-9:27 AM)
Bài Viết về Webservice
Bài viết này mình sẽ hướng dẫn các bạn làm thế nào để tạo một Webservice và cách sử dụng một webservice đã có ở trên máy local và ở trên mạng.

Trước hết, ta cần khởi tạo một ứng dụng webservice. Đây là một ứng dụng để kiểm tra tỉ giá ngoại tệ và update các loại tỉ giá đó. CSDL là sql server 2000. gồm có 2 bảng có đính kèm luôn trong ứng dụng.

Ta tạo một webservice có tên là GetExchangeRateService có nội dung như sau:

        [WebMethod]
        public string GetExchangeRate(string currency1, string currency2)
        {

            SqlConnection con = new SqlConnection("Server=(local);Database=AptechBankDB;UID=sa;PWD=sa");
            con.Open();

            DataSet ds = new DataSet();

            SqlCommand cmd = new SqlCommand("pr_GetExchangeRate", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@Currency1",SqlDbType.VarChar));
            cmd.Parameters.Add(new SqlParameter("@Currency2", SqlDbType.VarChar));

            cmd.Parameters["@Currency1"].Value = currency1;
            cmd.Parameters["@Currency2"].Value = currency2;

            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return ds.Tables[0].Rows[0]["Rate"].ToString();
            }
            else
            {
                return "0";
            }

        }

Phương thức này có 2 tham số: tham số thứ 1 là ngoại tệ quy đổi, tham số thứ 2 là tiền quy đổi. Giá trị trả về là tỉ giá của 2 loại tiền tệ đó.

Ta tạo websivice thứ 2 có tên là: UpdateExchangeRateService

        [WebMethod]
        public bool UpdateExchangeRate(string currency1, string currency2, float rate, string email, string pass)
        {
            SqlConnection con = new SqlConnection("Server=(local);Database=AptechBankDB;UID=sa;PWD=sa");
            con.Open();

            DataSet ds = new DataSet();

            SqlCommand cmd = new SqlCommand("pr_Check", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add(new SqlParameter("@Email", SqlDbType.VarChar));
            cmd.Parameters.Add(new SqlParameter("@Password", SqlDbType.VarChar));

            cmd.Parameters["@Email"].Value = email;
            cmd.Parameters["@Password"].Value = pass;

            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);

            if (ds.Tables[0].Rows.Count > 0)
            {
                               
                SqlCommand cmdUpd = new SqlCommand("pr_UpdateExchangeRate", con);
                cmdUpd.CommandType = CommandType.StoredProcedure;
                cmdUpd.Parameters.Add(new SqlParameter("@Currency1", SqlDbType.VarChar));
                cmdUpd.Parameters.Add(new SqlParameter("@Currency2", SqlDbType.VarChar));
                cmdUpd.Parameters.Add(new SqlParameter("@Rate", SqlDbType.Float));

                cmdUpd.Parameters["@Currency1"].Value = currency1;
                cmdUpd.Parameters["@Currency2"].Value = currency2;
                cmdUpd.Parameters["@Rate"].Value = rate;

                int i = cmdUpd.ExecuteNonQuery();

                if (i > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }

Phương thức này có 5 tham số. 2 tham số đầu tiên là các tỉ giá ngoại tệ để update, rate ở đây là tỉ lệ giữa các ngoại tệ đó.

Còn 2 tham số thứ 4 và 5 dùng để kiểm tra sự hợp pháp của quyền admin.

Tiếp theo, ta xây dựng một giao diện website để sử dụng các webservice mà mình vừa tạo. Chú ý ta phải add Web Reference vào website này. Đối với VS 2005, có 2 cách để chèn vào, đó là sử dụng luôn webservice mình tạo trong cùng một solution, thứ 2 là webservice ở trên local, tức là mình phải đặt service đó trong IIS hoặc chọn nò là websharing.

Với việc kiểm tra tỉ giá ngoại tệ, ta chỉ cần dùng dòng lệnh sau:

localhost.GetExchangeRateService getEx = new localhost.GetExchangeRateService();

lblResults.Text = getEx.GetExchangeRate(txtCurrency1.Text, txtCurrency2.Text);

Tương tự như trên, ta làm phần update tỉ giá:

localhost.UpdateExchangeRateService up = new localhost.UpdateExchangeRateService();

        bool isTrue = up.UpdateExchangeRate(txtCurrency1.Text, txtCurrency2.Text, float.Parse(txtRate.Text), txtEmail.Text, txtPass.Text);

        if (isTrue)
        {
            lblResults.Text = "Update Successful!";
        }
        else
        {
            lblResults.Text = "Update fail!";
        }

Trên đây là một ứng dụng nhỏ về xây dựng một webservice. bạn có thể download mã nguồn tại đây.



Nguồn: ngocdv - zensoft

Để biết mọi thứ về Web hãy xem"  www.thegioiweb.vn

Download các phần mềm miễn phí được ưa dùng nhiều nhất

    [ Các bài mới ]
    [ Các bài đã đăng ]
    Download Unikey - PM gõ tiếng Việt phổ biến nhất
    Chương trình nhỏ gọn, free.
    Thủ thuật hay với Gmail
    Tham khảo các tính năng độc đáo có thể bạn chưa biết
     
     
     
    COMPUTER - COMMUNICATION - CONTROL 3C, INC.
    Số 6 - Láng Hạ - Ba Ðình - Hà Nội; Tel: 84.4.8312695; Fax: 84.4.8311925
    © 2007 3C INC, All rights reserved. Designed and Developed by 3Csoft