Tải bản đầy đủ (.docx) (34 trang)

Báo cáo giữa kỳ CSDL phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (583.73 KB, 34 trang )

Báo cáo giữa kỳ CSDL Phân Tán
I.

GIỚI THIỆU CSDL
SIEUTHI(MAST, TENST, DIACHI, KHUVUC, TAISAN,SDT)
MATHANG(MAMH,KHUVUC, TENMH,LOAI,SL,GIA)
----------------------------Các quan hệ được phân mảnh như sau:
SIEUTHI_1(MAST, TENST, DIACHI, SDT, KHUVUC) chứa thông tin những chi
nhánh phía NAM.
SIEUTHI_2(MAST, TENST, DIACHI, SDT, KHUVUC) chứa thông tin những chi
nhánh nơi khác.
SIEUTHI_3(MAST,TAISAN) chứa thông tin những chi nhánh TAISAN>20 tỷ.
SIEUTHI_4(MAST,TAISAN) chứa thông tin những chi nhánh TAISAN<20 tỷ.
MATHANG(MAMH, TENMH,LOAI,GIA ) chứa thông tin tất cả các mặt hàng của hệ

thống.
MATHANG_3(MAMH,KHUVUC,SL) chứa các mặt hàng có số lượng > 100.
MATHANG_4(MAMH,KHUVUC,SL) chứa các mặt hàng có số lượng < 100.

Cây Phân Tán


Báo cáo giữa kỳ CSDL Phân Tán


Báo cáo giữa kỳ CSDL Phân Tán
Từ Điển Dữ Liệu

Bảng ViTu
Chứa thông tin vị từ phân mảnh. thuộc tính IsTRUE trả về mảnh thoả điều kiện, thuộc tính
IsFALSE trả về mảnh không thoả điều kiện.


Bảng DinhVi
Lấy thông tin site chứa mảnh. Phần mềm sử dụng bảng này để xem mảnh đang xét thuộc site nào.
Từ đó quyết định đưa câu truy vấn về đúng site.
Bảng Fields
Lấy thông tin các trường, khoá chính của một mảnh. Phần mềm dung bảng này để xem xét mảnh
chứa các trường nào và khoá chính là gì. Từ đó thực hiện truy vấn dữ liệu trên mảnh.
Bảng Toantu
Chứa thông tin của các phép toán.(chính nó và phủ định chính nó).

Dữ liệu trên site1


Báo cáo giữa kỳ CSDL Phân Tán

Trên site1. Lưu trữ và quản lý những thông tin của các siêu thị có tài sản hớn hơn 20 tỷ hoặc
những siêu thị thuộc khu vực phía NAM. Lưu trữ và quản lý các mặt hàng có số lượng >100.

Dữ liệu trên site2


Báo cáo giữa kỳ CSDL Phân Tán

Trên site1. Lưu trữ và quản lý những thông tin của các siêu thị có tài sản nhỏ hơn 20 tỷ hoặc
những siêu thị không thuộc khu vực phía NAM. Lưu trữ và quản lý các mặt hàng có số lượng <100.

Sơ đồ kết


Báo cáo giữa kỳ CSDL Phân Tán
CÁC LỚP HỖ TRỢ

1. DataDictionary.cs
CODE
II.

class DataDictionary
{
string chuoiketnoi =
System.Configuration.ConfigurationSettings.AppSettings["sqlconectionDD"];
SqlConnection cnn;
public DataDictionary()
{
cnn = new SqlConnection(chuoiketnoi);
}
//tra ve toán tử và giá trị
public DataTable returnTT_GT(string field)
{
string Select = "Select TOANTU, GIATRI, IsTRUE, IsFALSE FROM
ViTu WHERE TRUONG = '" + field + "'";
DataTable tb = new DataTable();
SqlDataAdapter sda;
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
sda = new SqlDataAdapter(Select, cnn);
tb = new DataTable();
sda.Fill(tb);
}
catch(SqlException ex)
{

ex.ToString();
}
finally
{
cnn.Close();
}
return tb;
}
//lay site chua manh
public string returnsite(string manh)
{
string Select = "Select SITE FROM DinhVi WHERE MANH = '" + manh
+ "'";

SqlDataAdapter sda;
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
DataTable tb = new DataTable();
sda = new SqlDataAdapter(Select, cnn);
tb = new DataTable();
sda.Fill(tb);
if (tb.Rows.Count >= 0)
{
DataRow dtr = tb.Rows[0];
return dtr["SITE"].ToString().Trim();
}
}



Báo cáo giữa kỳ CSDL Phân Tán

}

catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return "";

//Lay cac truong cua bang
public int exequery(string query)
{
int n = 0;
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
SqlCommand cmd = new SqlCommand(query, cnn);
n = cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
ex.ToString();
}

finally
{
cnn.Close();
}
return n;
}
public string field(string Tablename)
{
SqlDataAdapter sda;
DataTable tb;
DataRow dtr;
int n = -1;
string select = @"Select FIELD from Fields where MANH='" +
Tablename + "' AND ISPRIMARY != '1'";
try
{
string s = "";
if (cnn.State == ConnectionState.Closed)
cnn.Open();
sda = new SqlDataAdapter(select, cnn);
tb = new DataTable();
sda.Fill(tb);
n = tb.Rows.Count;
if (n > 0)
{
for (int i = 0; i < n; i++)
{
dtr = tb.Rows[i];
s += Tablename + "." +
dtr["FIELD"].ToString().Trim() + " ";

if (i < n - 1)
s += ",";
}


Báo cáo giữa kỳ CSDL Phân Tán
}

return s;

}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return null;
}
public int numberField(string Tablename)
{
SqlDataAdapter sda;
DataTable tb;
int n = 0;
string select = @"Select FIELD from Fields where MANH='" +
Tablename + "'";
try
{

if (cnn.State == ConnectionState.Closed)
cnn.Open();
sda = new SqlDataAdapter(select, cnn);
tb = new DataTable();
sda.Fill(tb);
n = tb.Rows.Count;
}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return n;
}
public string primaryKey(string Tablename)
{
SqlDataAdapter sda;
DataTable tb;
DataRow dtr;
int n = -1;
string select = @"Select FIELD from Fields where MANH='" +
Tablename + "'" + " AND ISPRIMARY='1'";
try
{
string s = "";
if (cnn.State == ConnectionState.Closed)
cnn.Open();

sda = new SqlDataAdapter(select, cnn);
tb = new DataTable();
sda.Fill(tb);


Báo cáo giữa kỳ CSDL Phân Tán
n = tb.Rows.Count;
if (n > 0)
{
dtr = tb.Rows[0];
s = dtr["FIELD"].ToString();
return s;
}

}

}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return "";

public string[] TableOfField(string field)
{
SqlDataAdapter sda;

DataTable tb;
DataRow dtr;
int n = -1;
string select = @"Select TENBANG from Table_Field where
TENTRUONG='" + field + "'";
try
{
string[] s;
if (cnn.State == ConnectionState.Closed)
cnn.Open();
sda = new SqlDataAdapter(select, cnn);
tb = new DataTable();
sda.Fill(tb);
n = tb.Rows.Count;
if (n > 0)
{
s = new string[n];
for (int i = 0; i < n; i++)
{
dtr = tb.Rows[i];
s[i] = dtr["TENBANG"].ToString().Trim();
}
return s;
}
}
catch (SqlException ex)
{
ex.ToString();
}
finally

{
cnn.Close();
}
return null;
}
public DataTable ALLManh()
{
DataTable tb = new DataTable();


Báo cáo giữa kỳ CSDL Phân Tán

}

string select = "Select * from Vitu";
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
SqlDataAdapter sda = new SqlDataAdapter(select, cnn);
sda.Fill(tb);
}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}

return tb;

public string IsToantu(string tentt)
{
String select = "Select pheptoan from ToanTu Where Tentt='" +
tentt + "'";
DataTable tb = new DataTable();
DataRow dtr;
string pheptoan = "";
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
SqlDataAdapter sda = new SqlDataAdapter(select, cnn);
sda.Fill(tb);
if (tb.Rows.Count > 0)
{
dtr = tb.Rows[0];
pheptoan = dtr["pheptoan"].ToString().Trim();
}
}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return pheptoan;

}
public string IsNotToantu(string tentt)
{
String select = "Select isNot from ToanTu Where Tentt='" +
tentt + "'";
DataTable tb = new DataTable();
DataRow dtr;
string pheptoan = "";
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
SqlDataAdapter sda = new SqlDataAdapter(select, cnn);


Báo cáo giữa kỳ CSDL Phân Tán
sda.Fill(tb);
if (tb.Rows.Count > 0)
{
dtr = tb.Rows[0];
pheptoan = dtr["isNot"].ToString().Trim();
}
}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();

}
return pheptoan;
}
public DataTable AllToantu()
{
DataTable tb = new DataTable();
string select = "Select Tentt from Toantu";
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();
SqlDataAdapter sda = new SqlDataAdapter(select, cnn);
sda.Fill(tb);
}
catch (SqlException ex)
{
ex.ToString();
}
finally
{
cnn.Close();
}
return tb;
}
public bool Sosanh2TT(string t1, string t2)
{
t1=t1.Trim();
t2=t2.Trim();
if (t1.Length > t2.Length)
t1 = t1.Substring(0, 1);

if (t1.Length < t2.Length)
t2 = t2.Substring(0, 1);
if (t1 == t2)
return true;
else
return false;
}
public string ThuocManh(string truong, string value)
{
DataTable dtt = new DataTable();
DataRow dtr;
string manh = "", giatri, toantu;
bool test;


Báo cáo giữa kỳ CSDL Phân Tán
dtt = returnTT_GT(truong);
int n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = sosanhUp(value, giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manh = dtr["IsTRUE"].ToString().Trim();
}
else

{
manh = dtr["IsFALSE"].ToString().Trim();
}
}
return manh;

}
public bool sosanh(string dest, string source, string phepss)
{
switch (phepss)
{
case "Bang":
case "Giong":
if (string.Compare(dest, source) == 0)
return true;
else
return false;
case "Khac":
case "Khongphai":
if (string.Compare(dest, source) != 0)
return true;
else
return false;
case "Lonhon":
case "Lonhonbang":
if (Convert.ToInt32(dest) >= Convert.ToInt32(source))
return true;
else
return false;
case "Nhohon":

case "Nhohonbang":
if (Convert.ToInt32(dest) < Convert.ToInt32(source))
return false;
else
return true;
default:
return false;
}
}
public bool testFieldOfManh(string field, string manh)
{
DataTable tb = new DataTable();
string select = "Select * from Fields where MANH='" + manh + "'
AND FIELD='" + field + "'";
try
{
if (cnn.State == ConnectionState.Closed)
cnn.Open();


Báo cáo giữa kỳ CSDL Phân Tán
SqlDataAdapter sda = new SqlDataAdapter(select, cnn);
sda.Fill(tb);
if (tb.Rows.Count > 0)
return true;
}
catch (SqlException ex)
{
ex.ToString();
}

finally
{
cnn.Close();
}
return false;
}
public bool sosanhUp(string dest, string source, string phepss)
{
switch (phepss)
{
case "Bang":
case "Giong":
if (string.Compare(dest, source) == 0)
return true;
else
return false;
case "Khac":
case "Khongphai":
if (string.Compare(dest, source) != 0)
return true;
else
return false;
case "Lonhon":
case "Lonhonbang":
if (Convert.ToInt32(dest) >= Convert.ToInt32(source))
return true;
else
return false;
case "Nhohon":
case "Nhohonbang":

if (Convert.ToInt32(dest) < Convert.ToInt32(source))
return true;
else
return false;
default:
return false;
}
}
}

2. ExecuteQuery.cs

CODE
class ExecuteQuery
{
SqlConnection cnn1;
SqlConnection cnn2;
string chuoiketnoi1 =
System.Configuration.ConfigurationSettings.AppSettings["sqlconection1"];
string chuoiketnoi2 =
System.Configuration.ConfigurationSettings.AppSettings["sqlconection2"];


Báo cáo giữa kỳ CSDL Phân Tán
SqlDataAdapter sda;
SqlCommand cmd;
int n = 0;
//Khoi tao
public ExecuteQuery()
{

cnn1 = new SqlConnection(chuoiketnoi1);
cnn2 = new SqlConnection(chuoiketnoi2);
}
public DataTable Execute(string cautruyvan, string site)
{
DataTable tb = new DataTable();
//Site1
if (site == "QLST1")
{
try
{
cnn1.Open();
sda = new SqlDataAdapter(cautruyvan, cnn1);
tb = new DataTable();
sda.Fill(tb);
}
catch (SqlException sqlex)
{
sqlex.ToString();
}
finally
{
cnn1.Close();
}
}
else
{
//Site2
try
{

cnn2.Open();
sda = new SqlDataAdapter(cautruyvan, cnn2);
tb.Clear();
sda.Fill(tb);
}
catch (SqlException sqlex)
{
sqlex.ToString();
}
finally
{
cnn2.Close();
}
}
return tb;
}
public int Executenonquery(string bolenh, string site)
{
n = 0;
if (site == "QLST1")
{
try
{
cnn1.Open();
cmd = new SqlCommand(bolenh, cnn1);


Báo cáo giữa kỳ CSDL Phân Tán
n = cmd.ExecuteNonQuery();
}

catch (SqlException sqlex)
{
sqlex.ToString();
}
finally
{
cnn1.Close();
}
}
else
{

try
{

cnn2.Open();
cmd = new SqlCommand(bolenh, cnn2);
n = cmd.ExecuteNonQuery();

}
catch (SqlException sqlex)
{
sqlex.ToString();
}
finally
{
cnn2.Close();
}

}

return n;

}

}

III.
SƠ ĐỒ CHỨC NĂNG
1)Chức năng tra cứu tt siêu thị


Báo cáo giữa kỳ CSDL Phân Tán

Code
private void btnTimkiemST_Click(object sender, EventArgs e)
{
DataTable dtt = new DataTable();
DataTable dttmanhKV = new DataTable();
DataTable dttmanhTS = new DataTable();
DataTable TABLE = new DataTable();
DataRow dtr;
dataGvSieuthi.DataSource = null;


Báo cáo giữa kỳ CSDL Phân Tán
string taisan = txtTaisan.Text.Trim();
string khuvuc = txtkhuvuc.Text.Trim().ToUpper();
string giatri = "", toantu = "";
string select = "";
bool test;

//Read VTDT
string fields1, fields2, primary1, primary2;
// Xử lý với vị từ KHUVUC
if (txtkhuvuc.Text != "")
{
dtt = datadictionary.returnTT_GT("KHUVUC");
int n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = datadictionary.sosanh(khuvuc, giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manhKV = dtr["IsTRUE"].ToString().Trim();
}
else
{
manhKV = dtr["IsFALSE"].ToString().Trim();
}
siteKV = datadictionary.returnsite(manhKV);
}
}
// Xử lý với vị từ TAISAN
if (txtTaisan.Text != "")
{
dtt = datadictionary.returnTT_GT("TAISAN");
int n = dtt.Rows.Count;

if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = datadictionary.sosanh(taisan, giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manhTS = dtr["IsTRUE"].ToString().Trim();
}
else
{
manhTS = dtr["IsFALSE"].ToString().Trim();
}
siteTS = datadictionary.returnsite(manhTS);
}
}
// Tìm Kiếm
if (txtkhuvuc.Text != "" && txtTaisan.Text != "")
{
fields1 = datadictionary.field(manhKV);
fields2 = datadictionary.field(manhTS);


Báo cáo giữa kỳ CSDL Phân Tán
primary1 = datadictionary.primaryKey(manhKV);
primary2 = datadictionary.primaryKey(manhTS);
select = @"Select " + siteKV + ".dbo." + manhKV + "." +
primary1.Trim() + "," + fields1 + ", " + fields2 + "From " + siteKV +

".dbo." + manhKV
+ " Inner join " + siteTS + ".dbo." + manhTS + " on " +
siteKV + ".dbo." + manhKV + "." + primary1.Trim() + "=" + siteTS + ".dbo."
+ manhTS + "." + primary2.Trim()
+ " Where " + siteKV + ".dbo." + manhKV + ".khuvuc='" +
khuvuc + "' AND " + siteTS + ".dbo." + manhTS + ".taisan > '" + taisan +
"'";
TABLE = exequery.Execute(select, siteKV);
dataGvSieuthi.DataSource = TABLE;
}
else
{
if (txtkhuvuc.Text != "")
{
select = "SELECT * FROM " + manhKV + " where khuvuc =
'" + khuvuc + "'";
dttmanhKV = exequery.Execute(select, siteKV);
dataGvSieuthi.DataSource = dttmanhKV;
}
if (txtTaisan.Text != "")
{
select = "SELECT * FROM " + manhTS + " where TAISAN >=
'" + taisan + "'";
dttmanhTS = exequery.Execute(select, siteTS);
dataGvSieuthi.DataSource = dttmanhTS;
}
}
}
Demo:


2)Chức năng thay đổi tt siêu thị


Báo cáo giữa kỳ CSDL Phân Tán

Code:


Báo cáo giữa kỳ CSDL Phân Tán
private void btnUpdate_Click(object sender, EventArgs e)
{
DataDictionary datadictionary = new DataDictionary();
ExecuteQuery executequery = new ExecuteQuery();
DataTable dtt = new DataTable();
DataRow dtr;

toantu);

string manhKV = "", manhTS = "", siteKV = "", siteTS = "";
string giatri, toantu;
bool test;
string insert = "", update = "", delete = "";
//doc vi tu dinh tinh tai san
dtt = datadictionary.returnTT_GT("TAISAN");
int n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();

test = sosanh(txtTaisan.Text.Trim(), giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manhTS = dtr["IsTRUE"].ToString().Trim();
}
else
{
manhTS = dtr["IsFALSE"].ToString().Trim();
}
siteTS = datadictionary.returnsite(manhTS);
}
//doc vi tu dinh tinh khu vuc
dtt.Clear();
dtt = datadictionary.returnTT_GT("KHUVUC");
n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = sosanh(txtKhuvuc.Text.Trim().ToUpper(), giatri,
//lay manh chua gia tri can tim
if (test == true)
{
manhKV = dtr["IsTRUE"].ToString().Trim();
}
else
{
manhKV = dtr["IsFALSE"].ToString().Trim();

}
siteKV = datadictionary.returnsite(manhKV);
}

//Update
if (taisan == txtTaisan.Text && khuvuc == txtKhuvuc.Text)
{
update = "Update " + manhKV + " set tenst='" +
txtTenst.Text + "', diachi='" + txtDiachi.Text + "', sdt='" + txtSodt.Text
+ "', khuvuc='" + txtKhuvuc.Text.ToUpper() + "' where Mast='" + mast + "'";
int i = executequery.Executenonquery(update, siteKV);


Báo cáo giữa kỳ CSDL Phân Tán
if (i > 0)
{
update = "update " + manhTS + " set Taisan='" +
Convert.ToInt32(txtTaisan.Text.Trim()) + "' where Mast='" + mast + "'";
i = executequery.Executenonquery(update, siteKV);
}
if (i > 0)
MessageBox.Show("Update xong");
else
MessageBox.Show("Update Fail...");
}
else
{
if (taisan != txtTaisan.Text)
{
insert = "Insert into " + manhTS + " Values('" + mast +

"','" + Convert.ToInt32(txtTaisan.Text.Trim()) + "')";
delete = "Delete " + datadictionary.TooBang(manhTS) + "
where Mast='" + mast + "'";
int i = executequery.Executenonquery(insert, siteTS);
if (i > 0)
i = executequery.Executenonquery(delete,
datadictionary.TooSite(siteTS));
if (i > 0)
MessageBox.Show("Update xong");
else
MessageBox.Show("Update Fail...");
}
if (khuvuc != txtKhuvuc.Text)
{
insert = "Insert into " + manhKV + " Values('" + mast +
"','" + tenst + "','" + diachi + "','" + sodt + "','" +
txtKhuvuc.Text.Trim().ToUpper() + "')";
delete = "Delete " + datadictionary.TooBang(manhKV) + "
where Mast='" + mast + "'";
int i = executequery.Executenonquery(insert, siteKV);
if (i > 0)
i = executequery.Executenonquery(delete,
datadictionary.TooSite(siteKV));
if (i > 0)
MessageBox.Show("Update xong");
else
MessageBox.Show("Update Fail...");
}
}
}


Demo:
Chuyển ST001 siêu thị site 1 sang site 2


Báo cáo giữa kỳ CSDL Phân Tán

Dữ liệu sau khi update


Báo cáo giữa kỳ CSDL Phân Tán

3.

Chức Năng Thêm Mới Siêu Thị

Code
private void tbn_AddSm_Click(object sender, EventArgs e)
{
if (testInfo() == true)
{
ExecuteQuery executequery = new ExecuteQuery();
DataDictionary datadictionary = new DataDictionary();


Báo cáo giữa kỳ CSDL Phân Tán
string
string
string
string

string
string

ten = txttenst.Text.Trim();
ma = txtmast.Text.Trim();
diachi = txtdiachi.Text.Trim();
khuvuc = txtkhuvuc.Text.Trim().ToUpper();
taisan = txttaisan.Text.Trim();
sdt = txtsodt.Text.Trim();

string toantu, giatri, site, insert;
DataRow dtr;
//xu ly tren nhanh 1
bool test;
string manh;
DataTable dtt = new DataTable();
dtt = datadictionary.returnTT_GT("KHUVUC");
int n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = datadictionary.sosanh(khuvuc, giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manh = dtr["IsTRUE"].ToString().Trim();
}
else

{
manh = dtr["IsFALSE"].ToString().Trim();
}
site = datadictionary.returnsite(manh);
insert = "Insert into " + manh + " values('" + ma +
"','" + ten + "','" + diachi + "','" + sdt + "','" + khuvuc + "')";
int i = executequery.Executenonquery(insert, site);
if (i <= 0)
{
MessageBox.Show("Fail!!!");
return;
}
}
//xu ly tren nhanh 2
dtt.Clear();
dtt = datadictionary.returnTT_GT("TAISAN");
n = dtt.Rows.Count;
if (n >= 0)
{
dtr = dtt.Rows[0];
giatri = dtr["GIATRI"].ToString().Trim();
toantu = dtr["TOANTU"].ToString().Trim();
test = datadictionary.sosanh(taisan, giatri, toantu);
//lay manh chua gia tri can tim
if (test == true)
{
manh = dtr["IsTRUE"].ToString().Trim();
}
else
{



Báo cáo giữa kỳ CSDL Phân Tán
manh = dtr["IsFALSE"].ToString().Trim();
}
site = datadictionary.returnsite(manh);
insert = "Insert into " + manh + " values('" + ma +
"','" + taisan + "')";
int i = executequery.Executenonquery(insert, site);
if (i <= 0)
{
MessageBox.Show("Fail!!!");
return;
}
}
MessageBox.Show("Susscess Full !!!");
}
else
}

MessageBox.Show("Information Not Enough!!!");

Demo thêm mới Siêu thi có Mã ST000 ở khu vực phía Bắc và có tài sản là
50 tỷ:
Thông tin tên, sdt, khuvuc, diachi sẽ được lưu ở site 2(QLST_2)
Thông tin Taisan sẽ được lưu tại site 1(QLST_3)


×