Public oradb As String = "Data Source=(DESCRIPTION=" _
+ "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=203.158.193.83)(PORT=1521)))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
+ "User Id=hr;Password=hr;"
Public UserID As String = "hr"
Public Password As String = "hr"
Public DataSource As String = "203.158.193.83:1521/orcl"
code ข้างบนนี้ เขียนไว้ข้างใน Module ให้ สร้าง Module ขึ้นมาใหม่แล้วก็ วาง code นี้ไปนะครับ ส่วนชื่อ database และ port ต่างๆ ก็เอาตามของท่านนะครับ อันนี้เรายกตัวอย่างเฉยๆนะครับ
Dim conn As New OracleConnection(oradb)
Dim sb As New System.Text.StringBuilder
If txtEmployeeID.Text.Trim = "" Then
txtEmployeeID.Focus()
Exit Sub
End If
Try
conn.Open()
Dim sql As String = "SELECT MANAGER_ID FROM DEPARTMENTS WHERE DEPARTMENT_ID = " & cbDepartment.SelectedValue
Dim cmd As New OracleCommand(sql, conn)
cmd.CommandType = CommandType.Text
'### BEGIN ### ใช้สำหรับค้นหา MANAGER_ID จากตาราง DEPARTMENTS
Dim MANAGER_ID As Integer
Dim dr As OracleDataReader = cmd.ExecuteReader()
dr.Read()
MANAGER_ID = dr.Item("MANAGER_ID") ' retrieve by column name
dr.Close()
'### END ###
'### BEGIN ### ใช้สำหรับแปลงค่าข้อมูลให้อยู่ในรูปแบบวันที่
Dim HireDate As DateTime = Convert.ToDateTime(dtHiredate.Value)
'### END ###
sb.Remove(0, sb.Length) ' clear stringBuilder
sb.Append("INSERT INTO ")
sb.Append(" EMPLOYEES(EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID)")
sb.Append(" VALUES(:EMPLOYEE_ID, :FIRST_NAME, :LAST_NAME, :EMAIL, :PHONE_NUMBER, :HIRE_DATE, :JOB_ID, :SALARY, :COMMISSION_PCT, :MANAGER_ID, :DEPARTMENT_ID)")
sql = sb.ToString
cmd.CommandText = sql
With cmd
.Parameters.Clear()
.Parameters.Add(":EMPLOYEE_ID", OracleDbType.Int32).Value = txtEmployeeID.Text.Trim
.Parameters.Add(":FIRST_NAME", OracleDbType.Varchar2).Value = txtFname.Text.Trim
.Parameters.Add(":LAST_NAME", OracleDbType.Varchar2).Value = txtLname.Text.Trim
.Parameters.Add(":EMAIL", OracleDbType.Varchar2).Value = txtEmail.Text.Trim
.Parameters.Add(":PHONE_NUMBER", OracleDbType.Varchar2).Value = txtTelephone.Text.Trim
.Parameters.Add(":HIRE_DATE", OracleDbType.Date).Value = HireDate
.Parameters.Add(":JOB_ID", OracleDbType.Varchar2).Value = cbJobs.SelectedValue
.Parameters.Add(":SALARY", OracleDbType.Decimal).Value = txtSalary.Text.Trim
If txtCommission.Text.Length = 0 Then
.Parameters.Add(":COMMISSION_PCT", OracleDbType.Decimal).Value = Nothing ' กรณีไม่มีค่า Commission
Else
.Parameters.Add(":COMMISSION_PCT", OracleDbType.Decimal).Value = txtCommission.Text.Trim
End If
.Parameters.Add(":MANAGER_ID", OracleDbType.Int32).Value = MANAGER_ID
.Parameters.Add(":DEPARTMENT_ID", OracleDbType.Int32).Value = cbDepartment.SelectedValue
If .ExecuteNonQuery() = 1 Then
MessageBox.Show("เพิ่มข้อมูลพนักงานเรียบร้อย", "Add new Completed...", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else ' เท่ากับ ศูนย์ คือ ทำงานไม่สำเร็จ
MessageBox.Show("ไม่สามารถเพิ่มข้อมูลพนักงานได้", "Problem...", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End With
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
Finally
conn.Dispose()
End Try