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....