 |
|
.NET , C# การตรวจสอบว่ามีค่าหรือไม่มีค่า ของ OBject |
|
 |
|
|
 |
 |
|
อ่านแล้ก็งงครับ ก่อนที่คุณจะส่งค่า md ทำไม่ไม่เช็คก่อนครับว่ามันเป็นค่าว่างหรือเปล่าขั้นแรกคุณต้องทราบก่อนว่า md ที่ได้ รีเทินค่ากับมาเป็นชนิดข้อมูลแบบไหนผมว่ามันน่าจะมันน่าจะเป็นแบบนี้นะครับ Method searchData(md.test_id) แบบนี้น่าจะง่ายกว่านะครับว่าแต่ทำไปเพื่ออะไรครับ
|
 |
 |
 |
 |
Date :
2009-12-21 13:09:12 |
By :
tanapop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็ประมาณว่า ผมต้องการส่งไปทั้ง object อ่ะครับ เพราะ ถ้าเกิดกรณี มันไม่ได้ มีเงื่อนไขเดียว เราก็จะได้จัดการได้อ่ะครับ
Code (C#)
public datatable searchData(Md_TEST data)
{
if(data==null) throw new Exception("Object is null reference");
if(data.Test_id==0)
if(data.Test_name==null)
if(data.Test_explan==null)
}
ประมาณแบบนี้ครับ ^^
|
 |
 |
 |
 |
Date :
2009-12-21 13:39:52 |
By :
ksillapapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จุดประสงค์ของ class Search คือต้องการที่จะหาค่าที่อยู่ใน class Md_Test หรือเปล่าครับ ถ้าใช่ลองนี่ดูครับ เอาไปประยุกต์ดูนะ
จุดสังเกตุ 1 แปลกใจต้องการหาค่าใน class ทำไมสร้าง function Search เป็น datatable ล่ะครับ
Code (C#)
using System.Collections.Generic;
public class Search
{
public bool SearchData(string val, List<Md_Test> setOfValues)
{
bool ret=false;
foreach (Md_Test data1 in setOfValues)
{
if (data1.Test_ID == val)
ret = true;
}
return ret;
}
}
|
 |
 |
 |
 |
Date :
2009-12-21 13:47:02 |
By :
salapao_codeman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Class อ่ะครับมันเป็นเหมือน ที่สำหรับเก็บ เงื่อนไขที่ได้จากการกำหนดค่าใน Form ครับ
ผมก็ เลยคิดว่า ทำไม เราต้อง SearchData(id,name,date,tel,.....) อ่ะครับ
ก็เลยลองหาวิธีแปลกๆ ดู โดยสร้างส่วนของ Model เปรียบเสมือน Class Member มี Attribute เป็น id,name,date,tel.... อ่ะครับ
แล้วเวลาค้นหา เราก็ไม่ต้องสนใจว่าเราจะส่ง SearchData(id,name,date,tel,.....) ขอแค่ส่ง SearchData(Member member) ไปตัวเดี้ยวพอ
แล้วก็ค่อยอ้างถึงว่าจะเอาค่าอะไร ในนั้นไปใช้เป็น เงื่อนไขในการค้นหาใน Database อ่ะครับ
ที่จริงแล้วอยากจะลองทำอะไรแบบนี้ดู เพื่อจะเจออะไรดีๆ บ้างอ่ะครับ ^^
ขอบคุณทุกๆคนมากๆ เลยครับ ^^
|
 |
 |
 |
 |
Date :
2009-12-21 13:58:58 |
By :
ksillapapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ่อ ก็ได้นี่ครับงั้น แต่ก็ไม่เห็นต้องมา Search class เลย เพราะที่ผมทำอยู่ก็ใช้อย่างนั้น ส่ง class ให้กันเลย แล้วที่ว่าไม่ต้องมาคอย Search เพราะว่า ก่อนเราจะส่ง(หรือเรียกใช้ class ของฝั่งรับ) เราต้องกำหนดค่าให้กับ class ที่ใช้เก็บข้อมูลก่อนอยู่แล้วนี่ครับ
โครางสร้าง OOP แบบที่ใช้อยู่
Business Link Layer (BLL)
Class BLLProducts(int ID, string prodName,string prodCate, string price);
Method
AddNewProduct();
{
ProductsDetails newdata = new ProductsDetails();
newdata.ID = this.ID;
newdata.CategoryID = this.prodCate;
newdata.ProductName = this.prodName;
newdata.Price = this.price;
int ret = ProductDataProvider.InsertProduct(newdata);
return int;
}
UpdateProduct();
Data Access Layer (DAL)
Class ProductsDetails(int ID, string prodName,string prodCate, string price)
Class ProductCategoryDetails(int ID, string cateName)
Class ProductDataProvider()
Abstract method
public abstract int InsertProduct(ProductDetails record)
Class SQLProductsData
public override int InsertProduct(ProductDetails record)
{
SQLConnection cn = new SQLConnection(this.connString);
** code ส่วน insert ข้อมูล ตามปกติครับ
}
User Interface (Web, Window Form)
private void Button1_Click()
{
BLLProduct newProduct = new BLLProduct(textbox1.text,textbox2.text)..
newProduct.AddNewProduct();
}
ส่วนศึกษาเพิ่มเติมครับ
Microsoft MSDN (Thai)
|
 |
 |
 |
 |
Date :
2009-12-21 14:43:59 |
By :
salapao_codeman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
^^ ประมาณนี้เลยครับ ผมก็มั่วๆ กับเรื่องนี้อยู่ เลย
ตอนนี้ของผมไปดูตัวอย่างมาจะเป็น Model,BLL,DAL,Present อ่ะครับ
ขอบคุณมากๆ ครับ
|
 |
 |
 |
 |
Date :
2009-12-21 15:20:40 |
By :
ksillapapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|