Custom Search

วันจันทร์ที่ 22 กันยายน พ.ศ. 2551

วันอังคารที่ 8 กรกฎาคม พ.ศ. 2551

Javascript tip

สั่งปริ๊นเตอร์ window.print()

วันจันทร์ที่ 26 พฤษภาคม พ.ศ. 2551

add flash in html

1. normal flash .swf
http://www.w3schools.com/flash/flash_inhtml.asp


2 show tool mp3 player


">







วันจันทร์ที่ 19 พฤษภาคม พ.ศ. 2551

sqlserver

การใช้ Stored Proceder(sqlserver2005) + Dataset(c#) + Gridview(asp.net) อย่างง่าย ๆ

1. สร้าง Stored Proceder ก่อนครับ
อธิบายพอเป็นออเดิฟ 555
1.1 สร้าง database ชื่อ PoteTest
1.2 สร้างตาราง Order
id nvachar(50),
data nvachar(50)
1.3 create PROCEDURE
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[up_Order]
AS
--EXEC up_Order
SET NOCOUNT ON
SELECT
ID,
Data
FROM [PoteTest].[dbo].[Order]

SET NOCOUNT OFF
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO


2. ปรับปรุง web.config ในการเข้าถึง database

3. สร้าง class ไว้ดึงค่าจาก database ผ่าน DataSet เผื่อการนำไปใช้ต่อไปใน Control ต่าง ๆ


public class clsMenu
{
private int _Branch;
public int Branch
{
get { return _Branch; }
set { _Branch = value; }
}
public DataSet LoadMenu(int Branch)
{
String strSQL="select * from [dbo].[up_Order]"
SqlConnection sqlConn = new SqlConnection(ConfigurationManager
.ConnectionStrings["sqlConnectionstr"].ToString());
SqlCommand sqlCmd = new SqlCommand("strSQL", sqlConn);
sqlCmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sqlAdapter = new SqlDataAdapter();
sqlAdapter.SelectCommand = sqlCmd;
DataSet dsDataSet = new DataSet();
try
{
sqlConn.Open();
sqlAdapter.Fill(dsDataSet, "Order");
return dsDataSet;
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlCmd.Dispose();
sqlConn.Dispose();
sqlAdapter.Dispose();
dsDataSet.Dispose();
}
}
}
4. จัดการส่วนของ Gridview ในลักษณะของโค๊ด (สำหรับคนที่คล่องด้าน application ก็ยิ่งสะดวกคับ)

รายละเอียดครั้งหน้านะคับ

dotnet>>การสร้างเมนู

การใช้ menu item และ sql sever
1.สร้าง menu กำหนดแค่ id ="Menu1"

2 class clsMenu เป็นการ ๆ query ข้อมูลจาก ตาราง แล้วส่งกลับมาเป็น Dataset ชื่อ "tbMenuList"

public class clsMenu
{
private int _Branch;
public int Branch
{
get { return _Branch; }
set { _Branch = value; }
}
public DataSet LoadMenu(int Branch)
{
String strSQL=".........................."
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConnectionstr"].ToString());
SqlCommand sqlCmd = new SqlCommand("strSQL", sqlConn);
sqlCmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sqlAdapter = new SqlDataAdapter();
sqlAdapter.SelectCommand = sqlCmd;
DataSet dsDataSet = new DataSet();
try
{
sqlConn.Open();
sqlAdapter.Fill(dsDataSet, "tbMenuList");
return dsDataSet;
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlCmd.Dispose();
sqlConn.Dispose();
sqlAdapter.Dispose();
dsDataSet.Dispose();
}
}
}


3.การดึงค่าจาก Dataset ลงสู่ MenuItem

clsMenu xLoad = new clsMenu();// คลาสที่ใช้ติดต่อดาต้าเบส
DataSet xDataset = new DataSet();
xDataset = xLoad.LoadMenu(Convert.ToByte(Session["Branch"])); //ดึงข้อมูลของdb ไว้ที่ Dataset
string xMenuName = "";
foreach (DataRow xRow in xDataset.Tables["tbMenuList"].Rows) //แยกข้อมูลจาก dataset table ลง menu item
{
MenuItem xChild = new MenuItem();
xChild.Text = xRow["TypeName"].ToString();
xChild.NavigateUrl = "../searchType.aspx?TypeNo=" + xRow["TypeNo"].ToString();
if (xMenuName == xChild.Text)
{
MenuItem xSub2 = new MenuItem();
xSub2.Text = xRow["SubTypeName"].ToString();
xSub2.NavigateUrl = "../" + "searchSubType.aspx?TypeNo=" + xRow["TypeNo"].ToString()
+ "&SubTypeNo=" + xRow["SubTypeNo"].ToString();
xSub2.Target = "_parent";
Menu1.Items[Menu1.Items.Count - 1].ChildItems.Add(xSub2);
//xSub2 = null;
}
else
{
MenuItem xSub1 = new MenuItem();
xSub1.Text = xRow["SubTypeName"].ToString();
xSub1.NavigateUrl = "../" + "searchSubType.aspx?TypeNo=" + xRow["TypeNo"].ToString()
+ "&SubTypeNo=" + xRow["SubTypeNo"].ToString();
xSub1.Target = "_parent";
xChild.ChildItems.Add(xSub1);
//xSub1 = null;
xMenuName = xRow["TypeName"].ToString();
Menu1.Items.Add(xChild);
}
}
xLoad = null;
}

4 ใน web.config ให้ แอดนี้ไปด้วยนะ
ใน tag
*** อาจจะไปกอป Data Source จากการ connect ผ่านเครื่องมือ datasource มาวางก็ได้ง่ายดี