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,027

HOME > .NET Framework > Forum > .NET ช่วยดูให้หน่อยค่ะ INSERT แล้วข้อมูลไม่เข้าฐานข้อมูล



 

.NET ช่วยดูให้หน่อยค่ะ INSERT แล้วข้อมูลไม่เข้าฐานข้อมูล

 



Topic : 075077



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



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



พอดีว่าต้องทำโปรเจ็คอ่ะค่ะ ลองเอาโค้ดตามหนังสือมาดัดแปลง

Code (VB.NET)
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO

Public Class frmMember
    Private data As DataSet
    Private curRow, numRows As Integer
    Private sql As String
    Private command As SqlCommand
    Private adapter As SqlDataAdapter
    Private bindingSrc As BindingSource
    Private connection As SqlConnection

    Private Sub UpdateBinding()
        txtMemberID.DataBindings.Clear()
        txtName.DataBindings.Clear()
        txtAddress.DataBindings.Clear()
        txtZipCode.DataBindings.Clear()
        txtIdcardNo.DataBindings.Clear()
        txtEmail.DataBindings.Clear()
        txtPhone.DataBindings.Clear()
        txtAge.DataBindings.Clear()
        cbGender.DataBindings.Clear()
        cbProvince.DataBindings.Clear()
        cbStatus.DataBindings.Clear()
        cbOccupation.DataBindings.Clear()
        dtBirthday.DataBindings.Clear()
        dtMemberIn.DataBindings.Clear()
        dtMemberOut.DataBindings.Clear()

        sql = "SELECT * FROM Member"
        command = New SqlCommand(sql, connection)
        adapter = New SqlDataAdapter(command)
        data = New DataSet()
        adapter.Fill(data, "Member")

        bindingSrc = New BindingSource()
        bindingSrc.DataSource = data.Tables("Member")

        lbMemberList.DataSource = data.Tables("Member")
        lbMemberList.DisplayMember = "Member_Name"

        numRows = data.Tables("Member").Rows.Count

        txtMemberID.DataBindings.Add("Text", bindingSrc, "Member_ID")
        txtName.DataBindings.Add("Text", bindingSrc, "Member_Name")
        cbOccupation.DataBindings.Add("Text", bindingSrc, "Member_Occupation")
        txtIdcardNo.DataBindings.Add("Text", bindingSrc, "Member_IDcard")
        cbStatus.DataBindings.Add("Text", bindingSrc, "Member_Marital_Status")
        dtMemberIn.DataBindings.Add("Value", bindingSrc, "Apply_Date")
        cbGender.DataBindings.Add("Text", bindingSrc, "Member_Gender")
        txtAddress.DataBindings.Add("Text", bindingSrc, "Member_Address")
        cbProvince.DataBindings.Add("Text", bindingSrc, "Member_Province")
        txtZipCode.DataBindings.Add("Text", bindingSrc, "Member_Zipcode")
        txtPhone.DataBindings.Add("Text", bindingSrc, "Member_Phone")
        dtBirthday.DataBindings.Add("Value", bindingSrc, "Member_Birthday")
        txtEmail.DataBindings.Add("Text", bindingSrc, "Member_Email")
        
    End Sub

    Function chkDBNull(ByVal strString As Object) As String
        If IsDBNull(strString) Then
            Return ""
        Else
            Return (strString.ToString())
        End If
    End Function

    Public Sub frmMember_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Refresh()
        
        Dim conStr As String = "Data Source=.\SQLEXPRESS;" & _
           "AttachDbFilename=|DataDirectory|\StoryBrooke.mdf;" & _
           "Integrated Security=True;User Instance=True"

        connection = New SqlConnection(conStr)
        If connection.State = ConnectionState.Closed Then
            connection.Open()
        End If
        ShowIcon = False
        btnSave.Enabled = False

        UpdateBinding()
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub btnNewMember_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNewMember.Click
        If btnNewMember.Text = "สมัครสมาชิกใหม่" Then
            btnNewMember.Text = "ยกเลิก"
            btnSave.Enabled = True
            lbMemberList.Enabled = False

            txtMemberID.Text = ""
            txtName.Text = ""
            txtIdcardNo.Text = ""
            txtAddress.Text = ""
            txtZipCode.Text = ""
            txtPhone.Text = ""
            txtEmail.Text = ""
            txtAge.Text = ""
            dtBirthday.Value = Now
            dtMemberIn.Value = Now
            dtMemberIn.Enabled = False
            dtMemberOut.Value = Now.AddYears(1)
            dtMemberOut.Enabled = False
            cbOccupation.SelectedIndex = -1
            cbStatus.SelectedIndex = -1
            cbGender.SelectedIndex = -1
            cbProvince.SelectedIndex = -1
            tsStatus.Text = "สมาชิกลำดับที่: " & (bindingSrc.Count + 1) & "/" & (bindingSrc.Count + 1)
        Else
            btnNewMember.Text = "สมัครสมาชิกใหม่"
            btnSave.Enabled = False
            lbMemberList.Enabled = True

            dtMemberIn.Enabled = True
            dtMemberOut.Enabled = True
            UpdateBinding()
        End If
    End Sub

    Private Sub btnEditMember_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditMember.Click
        btnEditMember.Enabled = False
        btnSave.Enabled = True
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        sql = "INSERT INTO Member"

        If Not (txtEmail.Text Is Nothing) Then
            sql &= "(Member_ID, Member_Name, Member_IDcard, Member_Address, Member_Province, Member_Zipcode, Member_Gender, Member_Marital_Status, Member_Birthday, Member_Occupation, Member_Phone, Member_Email, Apply_Date)"
            sql &= "VALUES(@ID, @Name, @IDcard, @Address, @Province, @Zipcode, @Gender, @Marital, @Birthday, @Occupation, @Phone, @Email, @Apply)"
        Else
            sql &= "(Member_ID, Member_Name, Member_IDcard, Member_Address, Member_Province, Member_Zipcode, Member_Gender, Member_Marital_Status, Member_Birthday, Member_Occupation, Member_Phone, Apply_Date)"
            sql &= "VALUES(@ID, @Name, @IDcard, @Address, @Province, @Zipcode, @Gender, @Marital, @Birthday, @Occupation, @Phone, @Apply)"
        End If

        AddParameters(sql)

        Dim result As Integer = command.ExecuteNonQuery()
        If result = -1 Then
            MessageBox.Show("เกิดข้อผิดพลาด ไม่สามาถเพิ่มหรือบันทึกข้อมูลได้")
        Else
            MessageBox.Show("ระบบทำการบันทึกข้อมูลเรียบร้อยแล้ว")
            btnNewMember.PerformClick()
        End If
    End Sub

    Private Sub frmMember_FormClosing() Handles MyBase.FormClosing
        connection.Close()
    End Sub

    Private Sub AddParameters(ByVal sql As String)
        command.Parameters.Clear()
        command.CommandText = sql
        command.Parameters.AddWithValue("ID", txtMemberID.Text)
        command.Parameters.AddWithValue("Name", txtName.Text)
        command.Parameters.AddWithValue("IDcard", txtIdcardNo.Text)
        command.Parameters.AddWithValue("Address", txtAddress.Text)
        command.Parameters.AddWithValue("Province", cbProvince.Text)
        command.Parameters.AddWithValue("Zipcode", txtZipCode.Text)
        command.Parameters.AddWithValue("Gender", cbGender.Text)
        command.Parameters.AddWithValue("Marital", cbStatus.Text)
        command.Parameters.AddWithValue("Birthday", dtBirthday.Value)
        command.Parameters.AddWithValue("Occupation", cbOccupation.Text)
        command.Parameters.AddWithValue("Phone", txtPhone.Text)
        command.Parameters.AddWithValue("Email", txtEmail.Text)
        command.Parameters.AddWithValue("Apply", dtMemberIn.Value)
    End Sub

    Private Sub btnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMemberFind.Click
        frmMemberFind.Show()
        Me.Enabled = False
    End Sub

    Private Sub lbMemberList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lbMemberList.SelectedIndexChanged
        bindingSrc.Position = lbMemberList.SelectedIndex
        txtAge.Text = chkDBNull(DateDiff(DateInterval.Year, dtBirthday.Value.Date, Date.Now))
        dtMemberOut.Value = chkDBNull(dtMemberIn.Value.AddYears(1))
        tsStatus.Text = "สมาชิกลำดับที่: " & (bindingSrc.Position + 1) & "/" & bindingSrc.Count
    End Sub

    Private Sub btnDelMember_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelMember.Click

    End Sub
End Class


มันสามารถกรอกข้อมูลแล้วก็บันทึกได้ แต่พอเปิดรันใหม่อีกรอบ กลับไม่มีข้อมูลนั้น
ไปดูในฐานข้อมูลก็ไม่มีค่ะ



Tag : .NET, Ms SQL Server 2005, VS 2010 (.NET 4.x)









ประวัติการแก้ไข
2012-03-06 16:25:25
2012-03-06 16:34:19
2012-03-06 17:08:10
2012-03-06 17:51:39
2012-03-06 17:55:36
2012-03-06 18:34:53
2012-03-06 18:35:49
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-06 15:16:37 By : itsmedesign View : 1773 Reply : 8
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

มันน่าจะไปอยู่ในโฟเดอร์ Debug ครับ คือพอเรากด Debug ใหม่ มันก็จะ Build ตัว Source ไปไว้ในโฟเดอร์ Debug และทำการเรียก Database ตัวนั้นแทนครับ (อันนี้เคยเจอ Database Access)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-07 07:08:47 By : webmaster
 


 

No. 2



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



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

แล้วแบบนี้ต้องแก้หรือว่าทำยังไงอ่ะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-08 16:22:58 By : itsmedesign
 

 

No. 3



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : itsmedesign เมื่อวันที่ 2012-03-08 16:22:58
รายละเอียดของการตอบ ::
ผมว่าต้องลองกลับไปอ่านจากในหนังสืออีกรอบ
เผื่อคุณจะอ่านข้ามข้อความสำคัญบางอย่าง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-08 16:30:56 By : watcharop
 


 

No. 4



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



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


ถ้ากรณีที่คุณได้ Import ฐานข้อมูลไว้ใน Project ของคุณนะครับ

1. เปิดหน้าต่าง Solution Explorer กับหน้าต่าง Properties ขึ้นมา
2. ในหน้าต่าง Solution Explorer คลิกที่ชื่อไฟล์ฐานข้อมูลของคุณ StoryBrooke.mdf
3. เปลี่ยนค่า Properties ในหน้าต่าง Properties ชื่อว่า Build Action = Content และ ชื่อว่า Copy to Output Directory=Do not copy

แค่นี้ก็เรียบร้อยครับ
ส่วนถ้ามีการเปลี่ยนแปลงฐานข้อมูล คือคุณอาจจะแก้ไขตารางในฐานข้อมูล ก็ต้องมาเปลี่ยน Copy to Output Directory=Copy if newer ด้วย
แต่ว่าข้อมูลในฐานข้อมูลเก่าจะหายไปเหมือนเดิมนะครับ เมื่ออัปเดทฐานข้อมูลแล้วก็กำหนดคืนเหมือนเดิมครับ

หากไม่ตรงประเด็น ขออภัยด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-09 15:46:25 By : kosin_man
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : kosin_man เมื่อวันที่ 2012-03-09 15:46:25
รายละเอียดของการตอบ ::
ลองทำแล้วมันขึ้น An attempt to attach an auto-named database for file E:\My Project\My Project\bin\Debug\StoryBrooke.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. อ่ะค่ะ แสดง error ตรงบรรทัดที่ 78 connection.Open() อ่ะค่ะ ไม่ทราบว่าต้องตั้งค่าอะไรตรงไหนอีกหรือป่าวนอกจากคุณแนะนำมา
แต่คิดว่าที่คุณแนะนำมาน่าจะใช้ได้ค่ะ ขอบคุณมากๆ นะคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-09 23:40:31 By : itsmedesign
 


 

No. 6



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



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

แก้ได้แล้วค่ะ เปลี่ยนการคอนเนคไปที่ฐานข้อมูลแทนการ attach ไฟล์

Dim conStr As String = "Data Source=.\SQLEXPRESS;" & _
073."AttachDbFilename=|DataDirectory|\StoryBrooke.mdf;" & _
074."Integrated Security=True;User Instance=True"

เปลี่ยนเป็น path ของไฟล์ .mdf ที่อยู่ในเครื่องแทน :)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-10 00:15:56 By : itsmedesign
 


 

No. 7

Guest


มันน่าจะไปอยู่ในโฟเดอร์ Debug ครับ คือพอเรากด Debug ใหม่ มันก็จะ Build ตัว Source ไปไว้ในโฟเดอร์ Debug และทำการเรียก Database ตัวนั้นแทนครับ (อันนี้เคยเจอ Database Access)


ถ้าเป็นแบบ นี้จะแก้ยังไงคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-22 15:22:57 By : nnn
 


 

No. 8



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตอบความคิดเห็นที่ : 7 เขียนโดย : nnn เมื่อวันที่ 2012-08-22 15:22:57
รายละเอียดของการตอบ ::
#6 ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-22 21:19:31 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : .NET ช่วยดูให้หน่อยค่ะ INSERT แล้วข้อมูลไม่เข้าฐานข้อมูล
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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