2. Bổ sung một Item là WebForm, đặt tên là Default.aspx
3. Bổ sung một Item là Web service
Giả
sử, ta đặt tên cho nó là MyWebService.asmx.
4. Mặt định, file MyWebService.asmx.cs có dạng như sau:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace MyWebServices { ////// Summary description for MyWebService /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class MyWebService : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } } }
5. Tạo mới một lớp MyConnection
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.SqlClient; namespace MyWebServices { public class MyConnection { private SqlConnection con; private SqlCommand command; public MyConnection() { con = new SqlConnection(); con.ConnectionString = "Data Source=localhost;Initial Catalog=DoAnVB;Persist Security Info=True;User ID=sa;Password=123"; command = new SqlCommand(); command.Connection = con; con.Open(); } public SqlDataReader ExecMyQuery(string s) { command.CommandType = System.Data.CommandType.Text; command.CommandText = s; return command.ExecuteReader(); } } }
Cần
lưu ý chỉnh lại connectionstring cho phù hợp. Database có tên là DoAnVB,
trong đó có một bảng tbl_Khoa(idKhoa int, tenkhoa nvarchar(50)).
6. Xóa phương thức Hello World trong MyWebService.asmx.cs và bổ sung thêm hai
phương thức mới:
[WebMethod] public SqlDataReader GetAllKhoa() { return (new MyConnection()).ExecMyQuery("select * from tbl_khoa;"); } [WebMethod] public void InsertToKhoa(string tenkhoa) { (new MyConnection()).ExecMyQuery("insert into tbl_khoa(tenkhoa) values(N'" + tenkhoa + "')"); }
7. Thiết kế trang Default.aspx như sau:
Lưu ý: Tất cả nội dung này được đặt trong một UpdatePanel và có sử dụng ScriptManager. Trong trang asp.net này, ngoài hai thành phần nói trên, còn có: textbox (tên là txtKhoa); button (tên btKhoa) và một Gridview (tên là dgvData).
Lưu ý: Tất cả nội dung này được đặt trong một UpdatePanel và có sử dụng ScriptManager. Trong trang asp.net này, ngoài hai thành phần nói trên, còn có: textbox (tên là txtKhoa); button (tên btKhoa) và một Gridview (tên là dgvData).
8. Bổ sung phương thức sau vào trong Default.aspx.cs
private void UpdatePage() { MyWebService ws = new MyWebService(); SqlDataReader reader = ws.GetAllKhoa(); dgvData.DataSource = reader; dgvData.DataBind(); }
9. Bổ sung đoạn mã sau cho sự kiện Page_Load
protected void Page_Load(object sender, EventArgs e) { UpdatePage(); }
10. Bổ sung đoạn mã sau cho sự kiện Click của button
protected void btKhoa_Click(object sender, EventArgs e) { MyWebService ws = new MyWebService(); ws.InsertToKhoa(txtKhoa.Text); UpdatePage(); }
Cuối
cùng, test thử chương trình làm việc với Database thông qua web service.
No comments:
Post a Comment