Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > .NET Framework > Forum > อยากให้ช่วยเรื่องการADD ค่า จาก Combobox ผมต้องการไห้ โชว์ค่า Name ใน combobox เเต่ เวลา Insert ไห้ Insert ID เเทนครับ 'EX code


 

[.NET] อยากให้ช่วยเรื่องการADD ค่า จาก Combobox ผมต้องการไห้ โชว์ค่า Name ใน combobox เเต่ เวลา Insert ไห้ Insert ID เเทนครับ 'EX code

 
Topic : 041114



โพสกระทู้ ( 227 )
บทความ ( 0 )



สถานะออฟไลน์



Code (VB.NET)[/head]
001.'คือ ผมต้องการไห้ โชว์ค่า Name ใน combobox เเต่ เวลา Insert ไห้ Insert ID เเทนครับ
002. 
003.'EX code ของ ผม คือ โชว์ค่า ID  เเละ insert ID ครับ
004. 
005.Imports System.Data
006.Imports System.Data.OleDb
007.Imports System.IO
008. 
009.Public Class car
010.    Private nameFileAcc As String = "C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\WORK\WORK\WORK.accdb"
011.    Private _dataset As DataSet
012.    Private _conn As OleDbConnection
013.    Private _cmd As OleDbCommand
014. 
015.    Private _rowCount As Integer = 0
016.    Private _position As Integer = 0
017. 
018. 
019.    Private Sub FormProducts_Load() Handles Me.Load
020. 
021.        _conn = New OleDbConnection(_conStr)
022.        _conn.Open()
023. 
024.        '====================อ่านข้อมูลจากตารางเพื่อเติมลงในช่อง combo==========================
025.        Dim sql As String = "SELECT * FROM statcar"
026.        _cmd = New OleDbCommand(sql, _conn)
027.        Dim reader As OleDbDataReader = _cmd.ExecuteReader()
028.        'เติมชื่อลูกค้าที่มีลงใน ComboBox
029.        While reader.Read()
030.            Cmbstat.Items.Add(reader("statcar_namestat"))
031.        End While
032.      
033.        Dim sql1 As String = "SELECT * FROM Car_type order by Cartype_name"
034.        _cmd = New OleDbCommand(sql1, _conn)
035.        Dim reader1 As OleDbDataReader = _cmd.ExecuteReader()
036.        'เติมชื่อลูกค้าที่มีลงใน ComboBox
037.        While reader1.Read()
038. 
039.            cmbtype.Items.Add(reader1("cartype_ID"))    <<-----
040. 
041. 
042. 
043.        End While
044.        '=========================================================================================
045. 
046. 
047.        FillListBox()
048.        ReadData()
049.        UpdateStatus()
050. 
051. 
052.    End Sub
053. 
054.    Private Sub ReadData()
055.        Dim dTable As New DataTable
056.        Dim sqlStr As String
057.        Dim conDBACC As New ConnectDBACC(nameFileAcc)
058. 
059.        sqlStr = "SELECT * FROM car,statcar,car_type "
060.        sqlStr += "WHERE car.car_typecarID=car_type.cartype_ID AND car.car_stat=statcar.statcar_ID"
061.        sqlStr += " AND car.car_NOCar='" + ListBox1.SelectedItem.ToString + "' "
062. 
063.        dTable = conDBACC.Query(sqlStr)
064. 
065.        If dTable.Rows.Count > 0 Then
066.            textno.Text = dTable.Rows(0)("Car_NOCar")
067.            TextID.Text = dTable.Rows(0)("Car_ID")
068.            Textdriver.Text = dTable.Rows(0)("Car_Driver")
069.            cmbtype.Text = dTable.Rows(0)("Car_TypeCarID")   <------
070.            Textag.Text = dTable.Rows(0)("Car_AgenciesName")
071.            Textbrand.Text = dTable.Rows(0)("Car_Brand")
072.            Textmodel.Text = dTable.Rows(0)("Car_Model")
073.            textstart.Value = dTable.Rows(0)("Car_CarStart")
074.            Cmbstat.Text = dTable.Rows(0)("statCar_namestat")
075.        End If
076. 
077. 
078.    End Sub
079. 
080.    Private Sub FillListBox()
081. 
082.        'เพิ่มรายชื่อหมวดสินค้าลงใน ListBox
083.        Dim prodname As String = ""
084.        ListBox1.Items.Clear()
085.        Dim dTable As New DataTable
086.        Dim sqlStr As String
087.        Dim conDBACC As New ConnectDBACC(nameFileAcc)
088. 
089.        sqlStr = "SELECT * FROM car,statcar,car_type WHERE car.car_typecarID=car_type.cartype_ID AND car.car_stat=statcar.statcar_ID order by car_nocar"
090.        dTable = conDBACC.Query(sqlStr)
091.        For i = 0 To dTable.Rows.Count - 1
092.            prodname = dTable.Rows(i)("Car_nocar").ToString
093.            ListBox1.Items.Add(prodname)
094.        Next
095. 
096.        'ให้รายการลำดับแรกใน ListBox ถูกเลือก
097.        If (ListBox1.Items.Count > 0) Then
098.            ListBox1.SelectedIndex = 0
099.        End If
100. 
101.    End Sub
102. 
103.    ''อ่านรูปภาพมาแสดงที่ PictureBox ซึ่งเราต้องทราบลำดับแถว
104.    ''เพื่อที่จะใช้ในการอ่านข้อมูลจาก DataSet
105.    'Private Sub ShowPicture(ByVal index As Integer)
106. 
107.    '    Dim imgByte() As Byte = _
108.    '       _dataset.Tables("car").Rows(index)("Car_Picture")
109. 
110.    '    Dim imgStream As New MemoryStream(imgByte)
111.    '    If (imgStream.Length > 0) Then
112.    '        PictureBox1.Image = Image.FromStream(imgStream)
113.    '    Else
114.    '        PictureBox1.Image = Nothing
115.    '    End If
116. 
117.    'End Sub
118. 
119.    Private Sub BtnSave_Click() Handles BtnSave.Click
120.        'Or Texttype.Text = ""
121.        If (textno.Text = "" Or Textag.Text = "" Or Textbrand.Text = "" Or Textmodel.Text = "" Or textstart.Text = "") Then
122.            MsgBox("กรุณาใส่ข้อมูลไห้ครบ")
123.            Return
124.        End If
125. Insert
126.        Dim sql As String = ""
127.        If (TextID.Text = "") Then
128.            sql = "INSERT INTO car(Car_nocar,Car_driver,Car_typecarid,Car_Agenciesname "
129.            sql &= ",Car_brand,Car_model,Car_carstart,Car_stat) VALUES(@no,@dr,@type,@ag,@br,@mo,@start,"
130. 
131.            '==========================================================================================
132.            If (Cmbstat.Text = "ว่าง") Then
133.                sql &= "'1')"
134.            End If
135.            If (Cmbstat.Text = "ไม่ว่าง") Then
136.                sql &= "'2')"
137.            End If
138.            If (Cmbstat.Text = "เสีย") Then
139.                sql &= "'3')"
140.            End If
141.            If (Cmbstat.Text = "ซ่อม") Then
142.                sql &= "'4')"
143.            End If
144.            If (Cmbstat.Text = "พัง") Then
145.                sql &= "'5')"
146.            End If
147. 
148.            '==========================================================================================
149. Update
150. 
151.        Else
152.            sql = "UPDATE car SET "
153.            sql &= "car_nocar = @no, car_driver = @dr,Car_typecarid = @type,Car_Agenciesname = @ag ,"
154.            sql &= "Car_brand = @br,Car_model = @mo , Car_carstart = @start , car_stat="
155. 
156.            If (Cmbstat.Text = "ว่าง") Then
157.                sql &= "'1'"
158.            End If
159.            If (Cmbstat.Text = "ไม่ว่าง") Then
160.                sql &= "'2'"
161.            End If
162.            If (Cmbstat.Text = "เสีย") Then
163.                sql &= "'3'"
164.            End If
165.            If (Cmbstat.Text = "ซ่อม") Then
166.                sql &= "'4'"
167.            End If
168.            If (Cmbstat.Text = "พัง") Then
169.                sql &= "'5'"
170.            End If
171. 
172.            ''ถ้าได้เลือกรูปภาพเอาไว้จึงจะสั่งอัพเดทรูปภาพด้วย
173.            'If (OpenFileDialog1.FileName <> "") Then
174.            '    sql &= ", car_Picture = @pic "
175.            'End If
176. 
177.            sql &= " WHERE car_ID = " & TextID.Text
178. 
179.        End If
180. 
181. 
182.        _cmd = New OleDbCommand(sql)
183.        _cmd.Parameters.AddWithValue("no", textno.Text)
184.        _cmd.Parameters.AddWithValue("dr", Textdriver.Text)
185.        _cmd.Parameters.AddWithValue("type", cmbtype.Text)  <------
186.        _cmd.Parameters.AddWithValue("ag", Textag.Text)
187.        _cmd.Parameters.AddWithValue("br", Textbrand.Text)
188.        _cmd.Parameters.AddWithValue("mo", Textmodel.Text)
189.        _cmd.Parameters.AddWithValue("start", textstart.Text)
190. 
191. 
192. 
193.        Dim conDBACC As New ConnectDBACC(nameFileAcc)
194.        conDBACC.ExecuteCommand(_cmd)
195.        Dim name As String = textno.Text
196. 
197. 
198.        FillListBox()
199.        ReadData()
200. 
201. 
202. 
203. 
204. 
205. 
206.        'Dim pic() As Byte = {}
207.        ''ถ้าได้เลือกรูปภาพเอาไว้จึงจะเพิ่มข้อมูลรูปภาพลงไป
208.        'If (OpenFileDialog1.FileName <> "") Then
209.        '    Dim fiStream As New FileStream(OpenFileDialog1.FileName, _
210.        '                                   FileMode.Open, _
211.        '                                   FileAccess.Read)
212. 
213.        '    Dim binReader As New BinaryReader(fiStream)
214.        '    pic = binReader.ReadBytes(fiStream.Length)
215.        '    _cmd.Parameters.AddWithValue("pic", pic)
216. 
217.        'Else
218.        '    _cmd.Parameters.AddWithValue("pic", pic)
219. 
220.        'End If
221. 
222.        ' ''Dim affectedRow As Integer = _cmd.ExecuteNonQuery
223. 
224.        ' ''If (affectedRow < 1) Then
225.        ' ''    ToolStripStatusLabel1.Text = "เกิดข้อผิดพลาดในการบันทึกข้อมูล"
226.        ' ''    Return
227.        ' ''Else
228.        ' ''    ToolStripStatusLabel1.Text = "ข้อมูลถูกจัดเก็บแล้ว"
229. 
230. 
231.        'FillListBox()
232.        'ReadData()
233. 
234.        'ClearBindings()
235. 
236.        ' ''    If (TabControl1.SelectedIndex = 0) Then
237.        ' ''    End If
238. 
239.        'ให้รายการที่เพิ่มหรือแก้ไขเป็นรายการที่ถูกเลือกใน ListBox
240. 
241.        Dim idx As Integer = ListBox1.FindStringExact(name)
242.        If (idx > -1) Then
243.            ListBox1.SetSelected(idx, True)
244.        End If
245. 
246. 
247.        ' ''    UpdateStatus()
248. 
249.        ' ''End If
250. 
251.    End Sub
252. 
253.    'Private Sub LnkPic_LinkClicked() Handles LnkPic.LinkClicked
254. 
255.    '    With OpenFileDialog1
256.    '        .Filter = "Image Files(*.gif;*.jpg)|*.gif;*.jpg"
257.    '        .FileName = ""
258. 
259.    '        If (.ShowDialog() = DialogResult.OK) Then
260.    '            PictureBox1.Image = Image.FromFile(.FileName)
261.    '        End If
262. 
263.    '    End With
264. 
265.    'End Sub
266. 
267. 
268.    Private Sub ListBox1_SelectedIndexChanged() _
269.    Handles ListBox1.SelectedIndexChanged
270. 
271.        Dim index As Integer = ListBox1.SelectedIndex
272. 
273.        _position = index
274.        ReadData()
275.        UpdateStatus()
276.    End Sub
277. 
278.    Private Sub UpdateStatus()
279. 
280. 
281. 
282.        Dim dTable As New DataTable
283.        Dim sqlStr As String
284.        Dim conDBACC As New ConnectDBACC(nameFileAcc)
285. 
286.        sqlStr = "SELECT * FROM car INNER JOIN statcar ON car.car_Stat=statcar.statcar_ID "
287. 
288. 
289.        dTable = conDBACC.Query(sqlStr)
290. 
291.        'If dTable.Rows.Count > 0 Then
292.        ToolStripStatusLabel1.Text = _
293.          (_position + 1) & " of " & dTable.Rows.Count
294. 
295. 
296. 
297. 
298.    End Sub
299. 
300.    Private Sub TabControl1_SelectedIndexChanged() _
301.    Handles TabControl1.SelectedIndexChanged
302. 
303.        If (TabControl1.SelectedIndex = 0) Then
304. 
305.            FillListBox()
306.            ReadData()
307.            'If (_rowCount = 0) Then
308.            '    Return
309.            'End If
310. 
311. 
312.            BtnDelete.Enabled = True
313.            ListBox1.Enabled = True
314.            ListBox1.SetSelected(0, True)
315. 
316.        ElseIf (TabControl1.SelectedIndex = 1) Then
317. 
318.            ClearBindings()
319.            textstart.Value = Date.Today
320.            Cmbstat.Text = "ว่าง"
321. 
322.            BtnDelete.Enabled = False
323.            ListBox1.Enabled = False
324. 
325.        End If
326. 
327.    End Sub
328. 
329.    Private Sub ClearBindings()
330. 
331.        For Each c As Object In GroupBox1.Controls
332.            If (TypeOf c Is TextBox) Then
333.                c.Text = ""
334.                c.DataBindings.Clear()
335.            End If
336.        Next
337. 
338.        'PictureBox1.Image = Nothing
339. 
340.    End Sub
341. 
342.    Private Sub BtnDelete_Click() Handles BtnDelete.Click
343. 
344.        If (textno.Text = "") Then
345.            Return
346.        End If
347. 
348.        If (MsgBox("ลบข้อมูลแถวนี้ ?", MsgBoxStyle.OkCancel) = _
349.            MsgBoxResult.Cancel) Then
350.            Return
351.        End If
352. 
353. 
354. 
355. 
356.        Dim sql As String = _
357.           "DELETE FROM car WHERE car_ID = " & TextID.Text
358. 
359.        _cmd = New OleDbCommand(sql)
360.        Dim conDBACC As New ConnectDBACC(nameFileAcc)
361.        conDBACC.ExecuteCommand(_cmd)
362. 
363.        ReadData()
364. 
365. 
366.        'Dim r As Integer = _cmd.ExecuteNonQuery()
367.        'If (r > 0) Then
368.        '    ToolStripStatusLabel1.Text = "ข้อมูลถูกลบแล้ว"
369.        'End If
370. 
371.        Dim idx0 As Integer = ListBox1.SelectedIndex
372.        ClearBindings()
373.        FillListBox()
374.        ReadData()
375. 
376. 
377.        If (idx0 > 0) Then
378.            ListBox1.SetSelected(idx0 - 1, True)
379.        End If
380. 
381.    End Sub
382. 
383. 
384.    Private Sub FormProducts_FormClosed() Handles Me.FormClosed
385. 
386.    End Sub
387. 
388.    Private Sub Cbstat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cmbstat.SelectedIndexChanged
389. 
390.    End Sub
391. 
392.    ''new
393.    'Private Sub Showstat()
394. 
395.    '    Dim sql As String
396.    '    sql = "SELECT * FROM Cart_type "
397.    '    _cmd = New OleDbCommand(sql, _conn)
398.    '    _cmd.Parameters.AddWithValue("type", Cmbstat.SelectedItem)
399. 
400.    '    _adapter = New OleDbDataAdapter(_cmd)
401.    '    _dataset = New DataSet()
402. 
403.    '    _adapter.Fill(_dataset, "ord")
404. 
405.    '    ' DataGridView1.DataSource = _dataset.Tables("ord")
406. 
407.    'End Sub
408. 
409.    'Private Sub CmbCust_SelectedIndexChanged() _
410.    'Handles Cmbstat.SelectedIndexChanged
411. 
412.    '    Showstat()
413. 
414.    'End Sub
415.    
416.   
417.End Class




Tag : - - - -

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-04-01 10:58:56 By : Cyg View : 2367 Reply : 4
 

 

No. 1



โพสกระทู้ ( 168 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
01.Private Sub FillListBox()
02.Dim prodname As String = ""
03.ListBox1.Items.Clear()
04.Dim dTable As New DataTable
05.Dim sqlStr As String
06.Dim conDBACC As New ConnectDBACC(nameFileAcc)
07.sqlStr = "SELECT * FROM car,statcar,car_type WHERE car.car_typecarID=car_type.cartype_ID AND car.car_stat=statcar.statcar_ID order by car_nocar"
08.dTable = conDBACC.Query(sqlStr)
09.if dTable.rows.count>0 then
10.  ListBox1.ValueMember = "car_id"
11.  ListBox1.DisplayMember = "car_name"
12.  ListBox1.DataSource = dTable
13.end if
14.End Sub


เวลา ต้องการบันทึกลง Database ก็ใช้
ListBox1.SelectedValue
ลองดู
Date : 2010-04-01 13:49:26 By : msorawich
 

 

No. 2



โพสกระทู้ ( 227 )
บทความ ( 0 )



สถานะออฟไลน์


อ่า ขอบคุณมากคับ ที่มาตอบ

สงสัยผมใช้ภาษาที่เข้าใจยาก นิดนึง

ตรง listbox อันนี้ OK เเล้ว คับ

ที่มีปัญหาคือ
- ตรง combo box ประมาน บรรทัดที่ 36,69,185 เเละส่วน Insert Update คับเท่าที่ไล่ดู

อันที่ผมทำ ค้างไว้ คือ ผม list ID เเละ ADD ID ได้เเล้ว เเต่ อยาก list Name ลง Combobox เเล้ว Add ID เเทน ครับ

ขอบคุณครับ
Date : 2010-04-01 21:53:11 By : Cyg
 

 

No. 3



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์


คุณใส่แบบนี้ได้มั้ยครับ เป็นความคิดส่วนตัวน่ะ

cmbtype.Items.Add(reader1("cartype_ID" + ":" + "cartype_name"))

ผมไม่รู้ database คุณ ว่าจะเอา cartype_name มาจากไหน แต่คิดว่าคุณคงจะหาได้

วิธีนี้ดีอย่างตรงที่

1. คุณไม่ต้องไปหาว่า cartype_ID อะไร ถึงจะเท่ากับ cartype_name อะไร
2. ผมไม่อยากเปลี่ยนแปลง code คุณมาก เพราะ ทำให้ผ่านก่อนส่วนเรื่อง refactor ไว้ที่หลัง

ส่วนเวลาจะ insert คุณก็ split string เอาครับ

Dim ss As String() = cmbtype.Text.Split(":")
_cmd.Parameters.AddWithValue("type", ss(0).Trim())

"Red-Green-Refactor >>> Clean code that works"
Date : 2010-04-02 10:04:55 By : numenoy
 

 

No. 4



โพสกระทู้ ( 227 )
บทความ ( 0 )



สถานะออฟไลน์


พอเดาๆทางได้ละครับ ขอบคุณมากคับ

พอดีผมเพิ่งมือใหม่ อยู่ครับ code อาจจะดูมั่วๆ
Date : 2010-04-04 02:33:26 By : Cyg
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากให้ช่วยเรื่องการADD ค่า จาก Combobox ผมต้องการไห้ โชว์ค่า Name ใน combobox เเต่ เวลา Insert ไห้ Insert ID เเทนครับ 'EX code
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่