9/28/2011

VB.Net : Button DaialogBox Select File

Code
First you add ToolBox openfileDialog and set name.
example name is OpenFileDialog

Insert code in Button Click.
  1.    Private Sub Button_Browse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Browse.Click
  2.         Dim PicturePath As String
  3.         OpenFileDialog.InitialDirectory = "C:\"
  4.         OpenFileDialog.Title = "Select Image File"
  5.         OpenFileDialog.Filter = "ไฟล์ภาพ (*.jpg;*.gif;*.bmp)|*.jpg;*.gif;*.bmp"
  6.         OpenFileDialog.ShowDialog()
  7.  
  8.         PicturePath = OpenFileDialog.FileName
  9.         'If Trim(PicturePath) = "" Or Len(PicturePath) = 0 Then Exit Sub
  10.         TextBox_URL.Text = PicturePath
  11.         'ให้ image1 แสดงผลภาพ
  12.         'Image1.Picture = LoadPicture(PicturePath)
  13.         Button_Clear.Enabled = True
  14.     End Sub

VB.Net : Copy file to new path.

First step Import System.IO.File on top code.

and use code in button.
  1.  
  2. Dim FileToCopy As String
  3. Dim NewCopy As String
  4.  
  5. FileToCopy = "C:\Users\Owner\Documents\test.txt"  'Old path
  6. NewCopy = "C:\Users\Owner\Documents\NewTest.txt"  'New path
  7.  
  8. If System.IO.File.Exists(FileToCopy) = True Then
  9. System.IO.File.Copy(FileToCopy, NewCopy) ' copy วางทับชื่อซ้ำไม่ได้
  10. 'System.IO.File.Copy(FileToCopy, NewCopy, True) 'copy วางและแทนที่
  11. MsgBox("File Copied")
  12. End If


example :

  1.    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.         Dim FileToCopy As String
  3.         Dim NewCopy As String
  4.         Dim NameImage As String
  5.  
  6.         FileToCopy = TextBox_URL.Text 'name of text save url.
  7.         NewCopy = "\\server3\7C งทส\00-อื่น ๆ\Personal Data\สุวิทย์  จำปาหอม\ImageAMS\1.jpg"
  8.  
  9.         If System.IO.File.Exists(FileToCopy) = True Then
  10.             System.IO.File.Copy(FileToCopy, NewCopy)
  11.             MsgBox("File Copied")
  12.         End If
  13.     End Sub

SQL : การนำ Path บันทึกเข้า PHPMyadmin

การบันทึก Path เข้า PHPMyadmin จะนำค่าที่ได้จาก Path บันทึกเข้าโดยตรงไม่ได้
เช่น
ต้องการบันทึก
\\server3\7C งทส\00-อื่น ๆ\Personal Data\สุวิทย์ จำปาหอม\ImageAMS\123.jpg
จะใช้ข้างบนเลยไม่ได้ข้อมูลที่เป็น \ จะไม่เข้า
ถ้าต้องการบันทึกต้อง ใช้ \ และค่าที่ต้องการเช่น \" คือบันทึกค่า " , \\ คือบันทึก \
ถ้าต้องการบันทึก Path ข้างบนก็ต้องใช้
\\\\server3\\7C งทส\\00-อื่น ๆ\\Personal Data\\สุวิทย์ จำปาหอม\\ImageAMS\\123.jpg

PHP : Code ตัวอย่าง คีย์ข้อมูลใน TextBox แล้วมีค่าล่วงลงมาให้เลือก

Auto Complete a textbox using AJAX, PHP and MySQL

This example illustrates how to create a auto completion text box using AJAX, PHP and MySQL. Data is being retrieved from MySQL database and displayed using AJAX. As of now only mouse movements are being handled but keyboard events are not handled.
The example carries explanation of some parts of the code, while one can download the source,study and reuse as per your convenience. You can download the source from here.
1. index.html
<script language=”JavaScript” type=”text/javascript” src=”suggest.js”></script>
<input type=”text” id=”PoNumber” alt=”Search Criteria” onkeyup=”searchSuggest();” autocomplete=”off”/>
<div id=”layer1″></div>
The page loads the `suggest.js` file wherein the `searchSuggest` function is described. The keyboard event handler in this occasion is the `onkeyup` which checks for each letter that is being entered in the textbox. A div element is also created so that the data that has been passed by JavaScript can be handled.
2. suggest.js
var searchReq = getXmlHttpRequestObject();
This above line creates a httpRequest object for passing values.
function searchSuggest() {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = escape(document.getElementById(’PoNumber’).value);
searchReq.open(”GET”, ’searchSuggest.php?search=’ + str, true);
searchReq.onreadystatechange = handleSearchSuggest;
searchReq.send(null);
}
}
`str` gets the value from the textbox. Each word entered in the text box is being passed to this variable which forms a part of the function. Later the values are passed on to the `searchSuggest.php` file which does all the processing.
var curLeft=0;
if (str1.offsetParent){
while (str1.offsetParent){
curLeft += str1.offsetLeft;
str1 = str1.offsetParent;
}
}
`curLeft` defines the current left position which is being initialize to 0 as the begining. `offsetparent` returns a reference to the object which is the closest (nearest in the containment hierarchy) positioned containing element. `offsetParent` returns null when the element has style.display set to “none”. Since the element can be inside many hierarchies we loop along with each of them to get hold of the value.
ss.setAttribute(’style’,'position:absolute;top:’+curTop+’;left:’+curLeft+’;width:150;z-index:1;padding:5px;border: 1px solid #000000; overflow:auto; height:105; background-color:#F5F5FF;’);
Here `ss` represents document id of the layer. In the above line the `style` property of the div tag is being set. The `position` should always be `absolute` else the layer will not be formed. The lower elements will be pushed down to accommodate the values that are being retrieved from the database. The `top`, `left` etc. are also being put to show to drop down (div layer). `overflow` is also set so for the scrolling effect in the div tag when it crosses the defined `height`.
The other stuff in the file should be self explanatory as it declares the variables and the functions.
3. database.php
function db_connect($server = ‘localhost’, $username = ‘root’, $password = ‘enigma’, $database = ’suggest’, $link = ‘db_link’)
Please change the `server`, `username`, `password` and `database` name corresponding to yours.
4. searchSuggest.php
A self-explanatory file. This retrieves the data from the database and passes the output to the searchSuggest function in suggest.js.

SQL : Select Concat เอาฟิวล์มาต่อกัน

SQL CONCAT 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการรวมข้อความเข้าด้วยกัน


Syntax


SELECT CONCAT(Culumn1,Culumn2,...) AS [New-Field] FROM [Table-Name]


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachai win.weerachai@thaicreate.com
TH
1000000 600000
C002
John Smith john.smith@thaicreate.com
EN
2000000 800000
C003
Jame Born jame.born@thaicreate.com
US
3000000 600000
C004
Chalee Angel chalee.angel@thaicreate.com
US
4000000 100000


Sample1 การเลือกข้อมูลโดยทำการรวมฟิวด์ CustomerID,Name,Email

SELECT CustomerID,CONCAT(CustomerID,Name,Email) AS ConcatField FROM customer

Output

CustomerID
ConcatField
C001
C001Win Weerachaiwin.weerachai@thaicreate.com
C002
C002John Smithjohn.smith@thaicreate.com
C003
C003Jame Bornjame.smith@thaicreate.com
C004
C004Chalee Angelchalee.angel@thaicreate.com

9/19/2011

VB.Net : Copy data listview to clipboard in VB.NET

Copy all data in listview.

Code Example :
Imports System.Text

.......

Public Sub CopyListViewToClipboard(ByVal lv As ListView)
        Dim buffer As New StringBuilder

        For i As Integer = 0 To lv.Columns.Count - 1
            buffer.Append(lv.Columns(i).Text)
            buffer.Append(vbTab)
        Next

        buffer.Append(vbCrLf)

        For i As Integer = 0 To lv.Items.Count - 1
            For j As Integer = 0 To lv.Columns.Count - 1
                buffer.Append(lv.Items(i).SubItems(j).Text)
                buffer.Append(vbTab)
            Next
            buffer.Append(vbCrLf)
        Next

        My.Computer.Clipboard.SetText(buffer.ToString)

    End Sub

**** You use call function
Example : call CopyListViewToClipboard(name ListView)

9/13/2011

ระบบไฟล์ NTFS กับ FAT32 ต่างกันอย่างไร

ระบบไฟล์ (File system) ที่เป็นที่นิยมมาตั้งแต่อดีตจนถึงปัจจุบันนั้นมีอยู่ 3 ระบบ ได้แก่ ระบบ FAT, FAT32 และ NTFS สำหรับระบบ FAT นั้นมีมาตั้งแต่สมัย MS-DOS ปัจจุบันไม่นิยมแล้ว เนื่องจากมันไม่สามารถรองรับพื้นที่ (Space) ที่มีความจุสูงกว่า 2.1 GB ได้ ดังนั้น ระบบไฟล์ที่ยังมีให้เห็นอยู่ในปัจจุบันนั้นจึงมีเพียง FAT32 และ NTFS เท่านั้น ลองมาดูความแตกต่างของทั้งสองระบบนี้กันครับ

FAT32 (File Allocation Table 32 bit version) พัฒนาโดย Microsoft พัฒนาในครั้งแรกใช้ใน Windows 95 OSR2 ในปี 1996

- โครงสร้างทาง Data Structure เป็น Linked List
- ขนาดความจุต่อ Partition ที่รองรับได้ไม่เกิน 2TB (2,048GB)
- สามารถใช้ความจุสูงสุดต่อไฟล์ที่ 4 GB ต่อ 1 ไฟล์
- สามารถบรรจุจำนวนไฟล์ได้มากที่สุด 268,435,437 ไฟล์
- ชื่อไฟล์ตั้งได้ที่ความยาว 8 ตัวอักษรสำหรับชื่อ และ 3 ตัวอักษรสำหรับนามสกุล และ/หรือ 255 ตัวอักษร เมื่อใช้งาน LFNs
- ระยะเวลาของไฟล์ที่จะสามารถบ่งบอกเวลาและวันที่ได้ถูกต้อง 1 มกราคม 1980 - 31 ธันวาคม 2107

NTFS (New Technology File System) พัฒนาโดย Microsoft เริ่มใช้ครั้งแรกใน Windows NT 3.1

- โครงสร้างทาง Data Structure เป็น B+-tree
- ขนาดความจุต่อ Partition ที่รองรับได้ไม่เกิน 16 EB (17,179,869,184 GB)
- สามารถใช้ความจุสูงสุดต่อไฟล์ที่ 16 EB (17,179,869,184 GB) ต่อ 1 ไฟล์
- สามารถบรรจุจำนวนไฟล์ได้มากที่สุด 4,294,967,295 ไฟล์
- ชื่อไฟล์ตั้งได้ที่ความยาว 255 ตัวอักษร
- ระยะเวลาของไฟล์ที่จะสามารถบ่งบงเวลาและวันที่ได้ถูกต้อง 1 มกราคม 1601 - 28 เมษายน 60056

NTFS กับ FAT32 เลือกอะไรดี?

หาก มองในภาพรวมแล้ว ระบบไฟล์ NTFS (New Technology File System) ซึ่งแปลตรงตัวก็คือ ระบบไฟล์ที่เป็นเทคโนโลยีใหม่ ดูจะมีภาษีเหนือกว่า เนื่องจากเป็นเทคโนโลยีที่ถูกพัฒนาขึ้นใหม่ ต่างจาก FAT32 ซึ่งพัฒนามาจากตารางจัดการไฟล์ที่ใช้กันมาตั้งแต่สมัย MS-DOS นอกจากนี้ NTFS ยังมีระบบความปลอดภัยที่มีประสิทธิภาพสูง มีความน่าเชื่อถือมากกว่า และรองรับความจุที่มากกว่าอีกด้วย

ที่มา http://www.itexcite.com/articleA3.html

9/12/2011

วิธีการเข้าสาย UTP กับขั้วต่อ RJ45

1.นำสาย UTP มาปอกฉนวนหุ้มที่ปลายสายทั้งสองด้านยาวประมาณ 3 ซ.ม. เมื่อปอกแล้วจะพบเห็นสายอยู่ 4 คู่ บิดเป็นเกลี่ยวแยกสีไว้ชีดเจน

2. คลายเกลียวที่สายออก แล้วแรียงสายตามสีที่กำหนด แบ่งการเชื่อมต่อสายสัญญาณได้ 2 วิธี
2.1 สายสัญญาณชนิดที่เชื่อมต่อจากคอมพิวเตอร์เข้า Hub หรือ Switch การเชื่อมต่อแบบนี้จะมีการเรียงสีเพื่อเข้าขั้ว RJ45 เหมือนกันทั้งสองด้าน
2.2 สายสัญญาณชนิดไขว้สาย เรียกว่า สายคอสโอเวอร์ ( Crossover ) ในกรณีนี้ใช้เชื่อมต่อคอมพิวเตอร์สองตัวเข้าด้วยกัน

 





3. เมื่อเรี่ยงสายตามสีในขั้นตอนที่ 2 แล้วตัดสายให้เหลือประมาณ 1.5 ซ.ม.
4. เสียบสาย UTP ที่ตัดและเรียงสีไว้แล้ว เข้าไปในขั้วต่อ RJ45 โดยให้หมายเลขสายที่เรากำหนดไว้ตามขั้นตอนที่ 2 ตรงกับหมายเลขขั้ว RJ45

5. เสียบขั้ว RJ45 เข้าไปในร่องคีม ดันสาย UTP ให้สนิทอีกครั้ง แล้วใช้มือบีบด้ามคีมให้แน่น โลหะทองเหลืองของขั้ว RJ45 จะเข้าไปสัมผัสกับสายทองแดง ข้อควรระวัง การดึงหัว RJ45 ออกจากคีมให้ใช้มือบีบหางพลาสติกสำหรับล็อกก่อน


การใส่สายให้กับตัวขั้ว มีขั้นตอนดังนี้
ส่วนมากจะใช้ มาตรฐาน B จะติดอยู่ข้างตัวเมียจะมีสีบอกว่าช่องไหนสีไหน
1. ปอกเปลือกหุ้มสาย UTP ออกให้ยาวประมาณ 1-1.5 นิ้ว
2. นำสาย UTP สอดไปช่องตรงกลางของตัวขั้ว โดยแยกสายทั้งสี่คู่ออกเป็นสองด้านตาม คู่สีให้มีลักษณะคล้ายตัว T ดังรูปที่

3. จัดสายแต่ละสีสอดเข้าไปตามช่องรอยบากสำหรับแต่ละสี สอดโดยการอ้อมจากด้าน นอกของตัวขั้ว เข้าสู่ช่องหนีบ ปลายสายจะชี้เข้าหาด้านตรงกลางของตัวขั้ว

4. ใช้ตัวกระแทกสาย ตอกหรือกดสายลงไประหว่างช่องรอยบากให้แน่น ถ้าไม่มีไม่มีตัว กระแทกสาย อาจใช้ด้านสันของคัตเตอร์กดแทนก็ได้ ทำจนครบทั้งแปดเส้น ดังรูป

Axpta X++ : ตัวอย่าง code การ set รูปแบบใน Excel

ใช้ Axata ออกรายงาน Excel
Code :
static void ExcelFormating(Args _args)
{
    #Excel
    SysExcelApplication         excel;
    SysExcelWorkbooks           books;
    SysExcelWorkbook            book;
    SysExcelWorksheet           sheet;
    SysExcelRange               range;
    SysExcelStyles              styles;
    SysExcelStyle               style;
    SysExcelInterior            interior;
    SysExcelFont                font;
    COM                         _char, _r;
    ;
    excel       = SysExcelApplication::construct();
    excel.visible(true);
    books       = excel.workbooks();
    book        = books.add();
    sheet       = excel.activeSheet();
    range       = sheet.range('A1');
    styles      = book.styles();
    style       = styles.add('MyStyle');
    interior    = style.interior();
    interior.color(WinApi::RGB2int(246, 233, 206));
    font        = style.font();
    font.bold(true);
    font.color(winapi::RGB2int(153, 204, 255));
    range.style('MyStyle');
    range.locked(true);
    _r          = range.comObject();
    _char       = _r.characters(1);
    _char.insert('MyStyle');
}

เช่น


  SysExcelApplication       SysExcelApplication;
  SysExcelWorksheet         SysExcelWorksheet;
  SysExcelWorksheets        SysExcelWorksheets;
  SysExcelWorkbooks         SysExcelWorkbooks;
  SysExcelWorkbook          SysExcelWorkbook;
  SysExcelRange             SysExcelRange;
  SysExcelCell              SysExcelCell;
  SysExcelCells             SysExcelCells;
  COMVariant                COMVariant1;
  #excel

   ;

  sysExcelApplication = SysExcelApplication::construct();
  sysExcelApplication.visible(false);
  sysExcelWorkbooks = sysExcelApplication.workbooks();
  COMVariant1 = new COMVariant();

\\ ที่อยู่ของไฟล์ต้นฉบับ
  COMVariant1.bStr('\\\\Axaptaserver\\AxaptaSP4\\Excel\\InvoiceSCI.xls');
  sysExcelWorkbook = sysExcelWorkbooks.add(COMVariant1);
  SysExcelWorksheets = sysExcelWorkbook.worksheets();
  SysExcelWorksheet = SysExcelWorksheets.itemFromNum(1);
  SysExcelRange = SysExcelWorksheet.cells().range(#ExcelTotalRange);

  SysExcelCell = SysExcelWorksheet.cells().item(i,1);
  SysExcelCell.value(custInvoiceJour.InvoiceDate);

  select * from custtrans where custtrans.Invoice == custInvoiceJour.InvoiceId;
  SysExcelCell = SysExcelWorksheet.cells().item(i,2);
  SysExcelCell.value(custtrans.InvoiceNumber);

SQL : select data in mounth and order by date

เก็บข้อมูลของวันที่ในฐานข้อมูลในรูปแบบนี้  yyyy-mm-dd  (ปี-เดือน-วัน)

Format :
SELECT * FROM `Table` WHERE SUBSTR(field,6,2)='12' and field = 'Y'
Order by SUBSTR(field,9,2)


Example :
SELECT * FROM `_employees` WHERE SUBSTR(Birthday,6,2)='12' and isEnabled = 'Y'
Order by SUBSTR(Birthday,9,2)

9/08/2011

Axpta X++ : How export data in grid selected?

In Axapta you want export data in grid selected.
You use code :

for (ตัวแปร Table= Desing From.getFirst(true) ? Desing From.getFirst(true) : Desing From.cursor();
ตัวแปร Table; ตัวแปร Table= Desing From.getnext())
{
Data you write.
}

Example :
for (tmpProdTable = ProdTable_ds.getFirst(true) ? ProdTable_ds.getFirst(true) : ProdTable_ds.cursor();
tmpProdTable; tmpProdTable = ProdTable_ds.getnext())
{
print data.
}

9/07/2011

Axpta X++ : Show data in axapta. By Method

How show data in Overview?

1. Code :: Old code it long and waste memory.

   SalesTable   tmpSalesTable ;
    ;
    SELECT * FROM tmpSalesTable
    WHERE tmpSalesTable.SalesId == this.RefSalesId ;

    return Country::name( tmpSalesTable.DeliveryCountry);



2. Code :: New code it short and easy. But you use this code. In Table have Method find.

return Country::name( SalesTable::find(this.RefSalesId).DeliveryCountry);

9/05/2011

VB.Net : ส่งข้อมูลจาก ListView ออก OpenOffice Calc

How to export data in ListView to OpenOffice cale ?
You use code. in button click.


       Dim Result(-1) As Object
        Dim CurrLine As String = String.Empty
        Dim myDoc As Object, firstSheet As Object
        Dim oSM
        Dim oDesk As Object
        Dim arg(-1) As Double
        ' Connect file and open OpenOffice
        oSM = CreateObject("com.sun.star.ServiceManager")
        oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
        ' Open calc
        myDoc = oDesk.loadComponentFromURL("private:factory/scalc", "_blank", 0, arg)
        firstSheet = myDoc.Sheets.getByIndex(0) 'index sheet insert data.
        ' Write Header Column in ListView to cell Calc.
        For columnIndex As Int32 = 0 To ListView_Sales.Columns.Count - 1
            CurrLine &= (String.Format("{0};", ListView_Sales.Columns(columnIndex).Text))
        Next
        Dim myArrayFirstRow As String()
        myArrayFirstRow = Split(CurrLine, ";")
        firstSheet.getCellRangeByName("A1").String = (myArrayFirstRow(0))
        firstSheet.getCellRangeByName("B1").String = (myArrayFirstRow(1))
        firstSheet.getCellRangeByName("C1").String = (myArrayFirstRow(2))
        firstSheet.getCellRangeByName("D1").String = (myArrayFirstRow(3))
        firstSheet.getCellRangeByName("E1").String = (myArrayFirstRow(4))
        firstSheet.getCellRangeByName("F1").String = (myArrayFirstRow(5))
        firstSheet.getCellRangeByName("G1").String = (myArrayFirstRow(6))
        firstSheet.getCellRangeByName("H1").String = (myArrayFirstRow(7))
        firstSheet.getCellRangeByName("I1").String = (myArrayFirstRow(8))
        firstSheet.getCellRangeByName("J1").String = (myArrayFirstRow(9))
        Randomize()
        ' Insert subItem in Calc.
        Dim line As Integer = 1
        Dim column As Integer = 0
        For Each item As ListViewItem In ListView_Sales.Items
            For Each subItem As ListViewItem.ListViewSubItem In item.SubItems
                firstSheet.getCellByPosition(column, line).String = subItem.Text
                column = column + 1
            Next
            column = 0  ' Reset Column before new line.
            line = line + 1 ' New line after insert data in row ListView finish.
        Next
        MsgBox("สงข้อออก Open Office เรียบร้อย ")
    End Sub


example VB.net export data in ListView to OpenOffice Calc.
Download

http://www.mediafire.com/?x9qjrd5n7u7jytl


9/03/2011

เปิด Numlock อัตโนมัติ ที่หน้า logon screen

เข้าไปแก้ไขที่ Registry
ไปที่ HKEY_USERS\.Default\Control Panel\Keyboard
แล้วเปลี่ยนค่าของ InitialKeyboardIndicators เป็น 2

ความหมายของตัวเลข

0 : Turns off Num Lock, Caps Lock, and Scroll Lock

1 : Turns on Caps Lock

2 : Turns on Num Lock

3 : Turns on Caps Lock and Num Lock

4 : Turns on Scroll Lock

5 : Turns on Caps Lock and Scroll Lock

6 : Turns on Num Lock and Scroll Lock

7 : Turns on Caps Lock, Num Lock, and Scroll Lock

Axapta X++ : การเรียกใช้คำสั่งของ Windows ด้วย X++

ตัวอย่างการเรียกใช้ Notepad

Code :
WinApi::shellExecute(strFmt('%1\\%2', WinApi::getSystemDirectory(),'\\notepad.exe'),fileName);  

Axapta : Progress bar

Code สำหรับแสดงผล Progress bar เอาไว้แสดงเวลาทำงานที่ใช้เวลา run นาน ๆ

Code Test :


static void jobProgress(Args _args)
{
    InventTable inventTable;
    SysOperationProgress simpleProgress;
    int totalItem;
    #AviFiles
 
    SELECT COUNT(recId) FROM inventTable
    WHERE inventTable.ItemGroupId == "P:BW";
    totalItem = inventTable.recId;
 
    simpleProgress = SysOperationProgress::newGeneral(#aviUpdate, 'Please wait ...', totalItem);
    // go through all companies and update temporary table
    WHILE SELECT ItemId FROM inventTable
    where inventTable.ItemGroupId == "P:BW"
    {
        simpleProgress.incCount();
        simpleprogress.setText(strfmt("Item : %1", inventTable.ItemId));
        simpleprogress.update(true);
    }
}

Ubuntu : เพิ่มความสามารถให้ Shutter

ทำให้สามารถแก้ไขรูปที่จับมาได้

apt-get install libgoo-canvas-perl

ทำให้สามารถจับ web แบบ scroll ได้

apt-get install gnome-web-photo

Ubuntu : PHP & MSSQL Server

จะเขียน script PHP จาก Ubuntu ให้ติดต่อไป MSSQL Server ต้องติดตั้ง package เพิ่มเติม ดังน้ัี

sudo apt-get install php5-mssql

Code Test :


<?php
$myServer = "server";
$myUser = "user";
$myPass = "password";
$myDB = "database";
 
//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer");
 
//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB");
 
//declare the SQL statement that will query the database
$query = "SELECT ItemId ";
$query .= "FROM InventTable ";
 
//execute the SQL query and return records
$result = mssql_query($query) or die("Couldn't query");
 
$numRows = mssql_num_rows($result);
echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>";
 
//display the results
while($row = mssql_fetch_array($result))
{
  echo "<li>" . $row["ItemId"] . "</li>";
}
//close the connection
mssql_close($dbhandle);
?>

Network : วิธีหาว่าคอมพิวเตอร์ต่อสายอยู่กับ Switch ช่องใด

ใช้ได้กับ switch รุ่น 3Com 4400
1.หา MAC ของเครื่อง ได้ดังนี้
1.1 ดูจาก DHCP / DNS
1.2 ใช้คำสั่ง ping ทิ้งไว้สักครู่ แล้วตามด้วยคำสั่ง arp -a
1.3 ดูที่ LAN Card (กรณีเครื่องอยู่ใกล้ตัว)
1.4 ใช้คำสั่ง ipconfig /ifconfig (กรณีเครื่องอยู่ใกล้ตัว)
1.5 nbtstat -a ดู IP -> ชื่อ, MAC

2. telnet ไปที่ IP ของ Switch 3Com

3. ใช้คำสั่งเพื่อดูว่า MAC ที่สนใจอยู่ที่ Port ใด ดังนี้ (คำสั่งสามารถพิมพ์เฉพาะตัวอักษรบางตัวได้)
3.1 bridge > addressDatabase > summary > all เพื่อดูทั้งหมด
3.2 bridge > addressDatabase > find > ป้อน MAC เพื่อดูอันเดียว

4. ถ้าหมายเลข port เดียวมีหลาย MAC แสดงว่า port นั้นต่อไป Hub/Switch ตัวอื่น

Axapta X++ : ไว้เช็คว่า PO นี้เคย POST ไปแล้วหรือยัง


static void checkPOState(Args _args)
{
    container   existingJournals;
    PurchTable  po;
    ;
    po = PurchTable::find("PO11-10148");
    existingJournals = po.existingJournals();
    if(conpeek(existingJournals, PurchTableType::posPurchaseOrder()) ? true : false){
        info("POSTED");
    }else{
        info("NOT POSTED");
    }
}

9/01/2011

VB.Net : ส่งค่า ListView ออกไปไฟล์ CSV

use code in button and rename ListView :

       Dim csvFileContents As New System.Text.StringBuilder
        Dim CurrLine As String = String.Empty       'Write out the column names as headers for the csv file.      
        For columnIndex As Int32 = 0 To ListView_Sales.Columns.Count - 1
            CurrLine &= (String.Format("{0};", ListView_Sales.Columns(columnIndex).Text))
        Next
        'Remove trailing comma      
        csvFileContents.AppendLine(CurrLine.Substring(0, CurrLine.Length - 1))
        CurrLine = String.Empty
        'Write out the data.    
        For Each item As ListViewItem In ListView_Sales.Items
            For Each subItem As ListViewItem.ListViewSubItem In item.SubItems
                CurrLine &= (String.Format("{0};", subItem.Text))
            Next
            'Remove trailing comma   
            csvFileContents.AppendLine(CurrLine.Substring(0, CurrLine.Length - 1))
            CurrLine = String.Empty
        Next
        'Create the file.      
        Dim Sys As New System.IO.StreamWriter("C:\Test.csv")
        Sys.WriteLine(csvFileContents.ToString)
        Sys.Flush()
        Sys.Dispose()