THAO TÁC DỮ LIỆU TRONG ASP.NET BẰNG WEB SERVICE

1. Tạo một dự án ASP.NET EMPTY WEB APPLICATION
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).
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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s