dim strsql="select typeid,typename from booktype"
dim dt as datatable
dt=getDatatable(strsql)
combobox.ValueMember = "typeid"
combobox.DisplayMember = "typename "
combobox.DataSource = dt
แต่โค้ดที่ select เป็นอย่างนี้ค่ะพี่ช่วยแก้ให้หน่อยนะได้ป่าวค่ะแล้วโค้ดที่ให้ดูนี่มันใช่อ่ะเปล่าค่ะ
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objCon As OleDbConnection
Dim dtAdapter As OleDbDataAdapter
Dim dt As New DataTable
Dim strCon As String
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/mydatabase.mdb") & ";"
objCon = New OleDbConnection(strCon)
objCon.Open()
Dim strSQL As String
strSQL = "SELECT *FROM tb_type"
dtAdapter = New OleDbDataAdapter(strSQL, objCon)
dtAdapter.Fill(dt)
dtAdapter = Nothing
objCon.Close()
objCon = Nothing
With Me.listtype_id
.DataSource = dt
.DataTextField = "type_name"
.DataValueField = "type_id"
.DataBind()
End With
listtype_id.SelectedIndex = listtype_id.Items.IndexOf(listtype_id.Items.FindByValue("type_id"))
End Sub
ส่วนอันนี้เป็นส่วนที่ insert ค่ะ
Protected Sub save_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles save.Click
Dim strConn As String
Dim strSQL As String
Dim objCmd As New OleDbCommand
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/mydatabase.mdb") & ";"
ตามที่ท่าน NO.5 (Mr.Win) บอกครับ
เพราะถ้าทำการกดปุ่ม Insert เสร็จแล้ว
ก่อนไปทำงานใน Sub Insert เพจจะทำการเข้ามาทำงานใน Sub Page_Load ก่อนครับแล้วถึงจะไป Sub insert
ทำให้ dropdownlist ของเรามีการโหลดค่าจากฐานข้อมูลใหม่ทุกครั้ง
แล้วไปเจอคำสั่งเซ็ตให้เลือก index แรกของ dropdown ครับ
Code (VB.NET)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objCon As OleDbConnection
Dim dtAdapter As OleDbDataAdapter
Dim dt As New DataTable
'ใส่ตรงนี้เพิ่มครับ
IF NOT Page.IsPostBack() Then
Dim strCon As String
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/mydatabase.mdb") & ";"
objCon = New OleDbConnection(strCon)
objCon.Open()
Dim strSQL As String
strSQL = "SELECT *FROM tb_type"
dtAdapter = New OleDbDataAdapter(strSQL, objCon)
dtAdapter.Fill(dt)
dtAdapter = Nothing
objCon.Close()
objCon = Nothing
With Me.listtype_id
.DataSource = dt
.DataTextField = "type_name"
.DataValueField = "type_id"
.DataBind()
End With
listtype_id.SelectedIndex = listtype_id.Items.IndexOf(listtype_id.Items.FindByValue("type_id"))
end if
End Sub