Create Web Service in ASP.NET : Step 2

การเรียกใช้ webservice
ให่เรา add web reference โดยการ คลิกขวาที่ solution explorer >> add web reference
หลังจากนั้นให้ ใส่ url ของ web service ที่ต้องการ




เมื่อทำการ Add แล้วจะได้ดังภาพ




การเรียกใช้งาน Web Service
เพิ่ม url ของ web service ที่ file web.config








สร้าง function เพื่อเรียกใช้




Public serv As WebRef.Service
Private servurl As String = ConfigurationSettings.AppSettings("myservice")


Public Function Getds_serv(ByVal id As String) As DataSet


Dim Ds As New DataSet


serv = New WebRef.Service
serv.Url = servurl
Ds = serv.Getdata(id)

Return Ds

End Function



web service จะรับค่า parameter เพื่อเป็นเงื่อนไขการดึงข้อมูล
และส่งค่ากลับมาเป็น dataset

กลับไป >> step 1

Read More....

Create Web Service in ASP.NET : Step 1

บทความนี้ผมจะมาแนะนำกี่ยวกับการสร้าง Web service โดยใช้ ASP.net นะครับ
ในที่นี้ผมจะทำ function สำหรับ ดึงข้อมูลผ่าน web service กลับมาเป็น dataset
เพื่อนำมาใช้งานต่อ
เริ่มจากการสร้าง function ที่ web service ก่อนเป็นอันดับแรก

เมื่อเปิด visual studio ให้ new website เลือกประเภทของเว็บเป็น web service





หลังจากนั้น ที่ folder App_Code/ ไฟล์ Service.vb

ให้เราเพิ่ม function



Private strcon As String = ConfigurationSettings.AppSettings("CONNECTION")
Public Conn As New OleDbConnection(strcon)

_
Public Function Getdata(ByVal id As String) As DataSet

Dim Ds As New DataSet()
Dim sql As String
sql = " select * from table where id= '" & Trim(id) & "' "
Conn.Open()
Dim da As New OleDbDataAdapter(sql, Conn)
da.Fill(Ds)
Conn.Close()
da.Fill(Ds)
Return Ds

End Function



หลังจากนันให้เรา set website ที่ IIS แล้วลอง run ดู
http:// Your IP /webservice/service.asmx




ต่อไป ก็สร้าง web เพื่อเรียกใช้ webservice step 2

Read More....

การใช้ OleDbCommand ป้องกันการทำ SQL Injection

บทความนี้ ผมจะแนะนำการใช้งาน OleDbCommand เพื่อ ป้องกันการทำ SQL Injection นะครับ
การทำ SQL Injection เช่น
dim s = " select * from tablename where column = '"& input &"' "
หากเราใส่ค่า input = " 1' or '1' = '1 " การนำ string มาต่อกันก็จะได้
select * from tablename where column ='1' or '1' = '1' ทำให้ query นี้เงื่อนไขเป็นจริง ทุกกรณี

ในกรณีนี้ผมใช้ OleDbCommand ในการทำงาน เพื่อแก้ปัญหา SQL Injection
ตัวอย่าง


Dim Connddthq As New OleDbConnection(ddthqcon)
Connddthq.Open()
str = " Select * from LOGIN_USER where USERNAME = ? and PASSWORD = ? and ACTIVE='Y' "
Dim Cmd As OleDbCommand = New OleDbCommand(str, Connddthq)

With Cmd
.Parameters.Add("", OleDbType.VarChar).Value = Trim(user)
.Parameters.Add("", OleDbType.VarChar).Value = Trim(pass)
End With

Dim da As New OleDbDataAdapter(Cmd)
da.Fill(Dt)
Connddthq.Close()

Read More....

ทดลองสร้าง project php ด้วย codeigniter framework กันครับ

บทความนี้ ผมจะมาแนะนำการสร้าง project php ด้วย codeigniter framework กันครับ
ก่อนอื่น ต้องไปทำการ download codeigniter framework ที่
http://codeigniter.com/
ในที่นี้ผมจะเก็บ project ไว้ที่ C:\AppServ\www\ ครับ
ใช้ โปรแกรม dream เปิด project มา
ให้สังเกตุดูที่ project นั้น จะมี folder แยกไฟล์ views,models,controllers ซึ่งเป็นไปตามลักษณะแบบ MVC



ลองรัน project ด้วย path http://localhost/CodeIgniter/ จะได้ ดังภาพ



ทดสอบสร้าง file blog.php ใน folder controllers
และ สร้าง blogview.php ใน folder views

ที่ blog.php
จาก code จะกำหนด ตัวแปร และส่งค่าตัวแประไปแสดงผลที่ blogview

class blog extends CI_Controller {

function __construct()
{
parent::__construct();
}

function index()
{
$data['title'] = "My Blog Title";
$data['heading'] = "My Blog Heading";
$data['todo_list'] = array('Clean House', 'Call Mom', 'Run');
$this->load->view('blogview', $data);
}


}


และที่ blogview.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table width="100%" border="1">
<tr>

<td>
<?php echo $heading . " yessss"; ?>
<?php foreach($todo_list as $item):?>
<li> <?php echo $item;?></li>
<?php endforeach;?>
</td>
</tr>
</table>

</body>
</html>


เมื่อทำการ run ด้วย path http://localhost/CodeIgniter/index.php/blog/index



รายละเอียดเพิ่มเติม ได้ที่ http://codeigniter.com/ ครับ

บทความอื่นๆ

Use Crystal Report + Datatable by ASP.net

Read More....

Use Crystal Report + Datatable by ASP.net

บทความนี้จะแนะนำการใช้ crystal report ทำงาน ร่วมกับ ASP.net โดยการส่ง datatable ที่เรา query มาได้ โยนไปแสดงผลบน Crystal report
เริ่มแรกให้เราสร้าง crystal report ขึ้นมา เป็น blank report
หลังจากนั้นให้เรา Add new Command


ให้ใส่ Sql Query ที่เราต้องการแต่ไม่ต้องใส่ เงื่อนไข where เช่น Select column,column,column from table
นะครับ เพราะเราจะกำหนดเงื่อไขที่ตัว code เลย



หลังจากเพื่ม command เรียบร้อย เมื่อไปที่หน้า Design ให้เรา Add fomular เพื่อแสดงเงื่อนไขของ Report
และลาก command ที่ได้มาวางตามต้องการ และบันทึก




ที่ file แสดงผล ให้ลาก CrystalReportViewer control และ textbox มาวาง









EnableParameterPrompt="False" BestFitPage="True"
EnableDatabaseLogonPrompt="False"
ReuseParameterValuesOnRefresh="True" DisplayGroupTree="False" />



ที่ behide code ในที่นี้ ผมใช้ oracle นะครับ


Imports System.Data
Imports System.Data.OleDb
Imports CrystalDecisions.CrystalReports.Engine

Partial Class ddtreport_test
Inherits System.Web.UI.Page

Private ddthqcon As String = ConfigurationSettings.AppSettings("DDTHQ")

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Dt As New DataTable()
Dim Conn As New OleDbConnection
Dim Str As String
Str = " Select column,column,column from table where column='" & TextBox1.Text & "' "

Conn = New OleDbConnection(ddthqcon)

Conn.Open()
Dim da As New OleDbDataAdapter(Str, Conn)
da.Fill(Dt)
Conn.Close()

Dim cr1 As New ReportDocument
cr1.Load(Server.MapPath("~/folder/report.rpt"))
cr1.SetDatabaseLogon("user", "pass")
cr1.SetDataSource(Dt)
cr1.DataDefinition.FormulaFields("column").Text = "'" & Trim(TextBox1.Text) & "'"
CrystalReportViewer1.ReportSource = cr1

End Sub
End Class


ผลการทำงาน




บทความอื่นๆ
Create Excel by VB.net

Read More....

การใช้งาน Datepicker by Jquery UI + ASP.NET

เริ่มแรกเราต้องไปโหลด Jquery UI และ Jquery มาก่อนนะครับ
Jquery UI ไปที่ http://jqueryui.com/download
สามารถเลือก theme ที่เราชอบได้ตามต้องการเลยครับ
ส่วน jquery ไปที่ http://jquery.com ครับ
หรือ ว่าหากไม่ต้องการ download ก็สามารถ ใช้งานผ่าน

Google Ajax API CDN

http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
Microsoft CDN
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js
jQuery CDN (via Media Temple)
http://code.jquery.com/jquery-1.5.2.min.js Minified version
http://code.jquery.com/jquery-1.5.2.js Source version

ส่วน jquery UI ก้มีเช่นกันครับ

jQuery UI Library -
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.js
jQuery UI Library (Minified) - http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js
jQuery UI Base CSS - http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/themes/base/jquery-ui.css
jQuery Localization -
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/i18n/jquery-ui-i18n.min.js


เริ่มแรก ให้เราสร้าง function jquery ไว้ที่ head ก่อน





<link type="text/css" href="../css/flick/jquery-ui-1.8.5.custom.css" rel="stylesheet" />






ส่วนของ html




To:


จะสังเกตุว่าผมใช้ control แบบ html แต่ว่าเติม runat="server" เข้าไปเพื่อจะได้ใช้เรียกจาก code behide ได้
เวลาใช้จะเป็น startdate.Value เป็นต้น
เมื่อแสดงผลจะได้



การใช้งาน dataTable plugin jquery in ASP.NET + Jquery UI Style

Read More....

Create Excel by VB.net

หัวข้อนี้ ผมจะมาแนะนำการสร้าง excel file จาก VB.NET ครับ
โดยมีการ กำหนด รูปแบบแสดงผลของ ข้อมูลใน sheet
โดยในที่นี้จะเป็นการเขียนข้อมูลลงบน text file ก่อน แล้วค่อยนำ text file มาเขียนลงบน excel อีกทีครับ
หลังจากนั้นจึงค่อยเปิดไฟล์ excel ที่ได้มาปรับแต่งรูปแบบอีกครั้ง

เมื่อสร้าง form แล้ว ให้ใส่โค้ดดังนี้



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim _fileNameTAB As String = "D:\tmp_" & Trim(Format(DateTimePicker1.Value, "ddMMyyyy")) & ".txt"
Dim FileName As String = "D:\report_" & Trim(Format(DateTimePicker1.Value, "ddMMyyyy")) & ".xls"
If System.IO.File.Exists(_fileNameTAB) Then System.IO.File.Delete(_fileNameTAB)
Dim fs As System.IO.FileStream = System.IO.File.Create(_fileNameTAB)
Dim writer As New System.IO.StreamWriter(fs)
' Open txt file with Excel for decoration
Dim xlsAPP As New Microsoft.Office.Interop.Excel.Application
Dim xlsBook As Microsoft.Office.Interop.Excel.Workbook


Try
'*** Create txt file ***'
writer.WriteLine("TEST Data")

writer.Close()
writer.Dispose()
fs.Close()
fs.Dispose()
Catch ex As Exception

writer.Close()
writer.Dispose()
fs.Close()
fs.Dispose()

Exit Sub

End Try

ProgressBar1.Value = 2


Try

'*** Create excel file ***'
xlsAPP.Visible = False
xlsBook = xlsAPP.Workbooks.Open(_fileNameTAB)

'*** Create excel style ***'
DecorateExcel(xlsBook)

' Save as Excel2007
If System.IO.File.Exists(FileName) Then System.IO.File.Delete(FileName)
xlsBook.SaveAs(FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook)
xlsBook.Close(SaveChanges:=False)

xlsAPP.Quit()

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsAPP)
GC.SuppressFinalize(xlsAPP)
GC.Collect()
xlsBook = Nothing
xlsAPP = Nothing

System.IO.File.Delete(_fileNameTAB)

Catch ex As Exception
xlsAPP.Quit()
xlsBook = Nothing
xlsAPP = Nothing
System.IO.File.Delete(_fileNameTAB)

End Try

End Sub



อันนี้เป็นโค้ด กำหนด style ให้ excel
กำหนด font , style font ,MergeCells ,background color


Private Sub DecorateExcel(ByVal xlsBook As Microsoft.Office.Interop.Excel.Workbook)

Dim xlsSheet As Microsoft.Office.Interop.Excel.Worksheet = Nothing
xlsSheet = xlsBook.ActiveSheet
xlsSheet.Range("A1:K1").EntireColumn.AutoFit()

With xlsSheet.Range("A1:B1")
.Font.Size = "9"
.Bold = True
End With

With xlsSheet.Range("A1:B1")
.Borders.Weight = 2
.Interior.Color = System.Drawing.Color.Silver.ToArgb
.MergeCells = True
End With

End Sub







บทความอื่นๆ

Use Crystal Report + Datatable by ASP.net

Read More....

การใช้งาน dataTable plugin jquery in ASP.NET + Jquery UI Style

ในบทความนี้จะเป็นการแนะนำการใช้ dataTable plugin ของ Jquery ร่วมกับ Jquery UI เพื่อความสวยงาม
และ การดึงข้อมูลแบบ Ajax ผ่าน jquery ด้วย ASP.NET ครับ
เริ่มแรก ต้อง
Add stylesheet Jquery UI

  



Add Jquery function







Html code






รอสักครู่.....


create file Handler.ashx


Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

Dim trip As String = ""
trip = context.Request("tripno")

Dim str As String = "select client_c,cuscode,ordno,tripno,zoneno from DDT_tracking where tripno = '" & Trim(trip) & "' "
'clsdb.getjsonddt("select client_c,cuscode,ordno,tripno,zoneno from DDT_tracking where tripno = '1026983' ")

Dim Ds As DataSet
Ds = clsdb.GetdatasetDDT(str)
Dim Dt As DataTable = Ds.Tables(0)
Dim i As Integer = 0
Dim strReturnData As String
strReturnData = " " & _
" <table cellpadding='0' cellspacing='0' border='0' class='display' id='example'> " & _
"<thead>" & _
"<tr><th>No.</th> <th width='20%'>Rendering engine</th>" & _
" <th width='25%'>Browser</th>" & _
"<th width='25%'>Platform(s)</th>" & _
"<th width='15%'>Engine version</th>" & _
"<th width='15%'>CSS grade</th> " & _
"<th width='15%'><input type='checkbox' name='checkall' id='checkall' text='All' ></th></tr> " & _
"</thead>" & _
"<tbody>"

For i = 0 To Dt.Rows.Count - 1
strReturnData &= " <tr> <td></td>"
strReturnData &= " <td>" & Trim(Dt.Rows(i)("client_c").ToString) & "</td> "
strReturnData &= " <td>" & Trim(Dt.Rows(i)("cuscode").ToString) & "</td> "
strReturnData &= " <td>" & Trim(Dt.Rows(i)("ordno").ToString) & "</td> "
strReturnData &= " <td>" & Trim(Dt.Rows(i)("tripno").ToString) & "</td> "
strReturnData &= " <td>" & Trim(Dt.Rows(i)("zoneno").ToString) & "</td> "
strReturnData &= " <td><input type='checkbox' name='check_" & Trim(Dt.Rows(i)("ordno").ToString) & "' value='" & Trim(Dt.Rows(i)("ordno").ToString) & "' class='dd' ></td> "
strReturnData &= " </tr> "
Next

strReturnData &= " </tbody> " & _
" <tfoot> " & _
" <tr>" & _
"<th>No.</th> <th>Rendering engine</th>" & _
" <th>Browser</th>" & _
"<th>Platform(s)</th>" & _
" <th>Engine version</th>" & _
"<th>CSS grade</th>" & _
"<th>select</th> " & _
"</tr>" & _
"</tfoot>" & _
"</table> "

context.Response.Write(strReturnData)
End Sub

Public Function GetdatasetDDT(ByVal sql As String) As DataSet
Dim Ds As New DataSet()
Try

Connddthq.Open()
Dim da As New OleDbDataAdapter(sql, Connddthq)
da.Fill(Ds)
Connddthq.Close()

Catch ex As Exception
strMsg = "[GetdatasetDDT] err=" & ex.Message.ToString()
End Try
Return Ds

End Function




link ที่เกี่ยวข้อง
http://jquery.com

http://jqueryui.com

http://www.datatables.net



การใช้งาน Datepicker by Jquery UI + ASP.NET


Read More....