|
|
|
พี่ ๆ ๆ ครับ vb.net ทำไมทำแก้ไขข้อมูลแล้ว ข้อมูลไม่ update ที่ผ่านข้อมูลครับ ทั้ง ๆ ที่ไม่ error |
|
|
|
|
|
|
|
ช่วยดูให้หน่อยนะครับ เวลา run ก็ผ่านหมด ตอนอยู่หน้าจอก็แก้ไขได้ปกติ แต่พอปิดแล้วเปิดใหม่ ข้อมูล ก็ยังไม่ได้แก้ไข
Code (VB.NET)
Code ปุ่มแก้ไขครับ
Dim comMember As New SqlCommand()
Dim sqlMember As String
sqlMember = "Update E_std"
sqlMember &= " Set "
sqlMember &= " ชื่อ=@name,"
sqlMember &= " นามสกุล=@lastname,"
sqlMember &= " คณะ=@depart,"
sqlMember &= " สาขา=@saka,"
sqlMember &= " ปีการศึกษาที่เข้า=@year,"
sqlMember &= " ระดับการศึกษา=@cra,"
sqlMember &= " วิทยาเขต=@campus"
sqlMember &= " WHERE (รหัสนักศึกษา=@stdID)"
If Conn.State = ConnectionState.Open Then Conn.Close()
Conn.Open()
With comMember
.CommandText = sqlMember
.CommandType = CommandType.Text
.Connection = Conn
.Parameters.Add("@stdID", SqlDbType.NChar).Value = txtID.Text.Trim
.Parameters.Add("@name", SqlDbType.NVarChar).Value = txtName.Text.Trim
.Parameters.Add("@lastname", SqlDbType.NVarChar).Value = txtLastName.Text.Trim
.Parameters.Add("@depart", SqlDbType.NVarChar).Value = txtDepart.Text.Trim
.Parameters.Add("@saka", SqlDbType.NVarChar).Value = txtSAKA.Text.Trim
.Parameters.Add("@year", SqlDbType.NVarChar).Value = txtYear.Text.Trim
.Parameters.Add("@cra", SqlDbType.NVarChar).Value = txtCra.Text.Trim
.Parameters.Add("@campus", SqlDbType.NVarChar).Value = txtCampus.Text.Trim
.ExecuteNonQuery()
End With
If MessageBox.Show("คุณต้องการแก้ไขมูล ใช่หรือไม่ ??", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
MessageBox.Show("บันทึกเรียบร้อยแล้ว !!!! ", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
GroupBox1.Visible = False
GBstd.Visible = False
DataGridView1.Visible = False
txtFind.Clear()
txtFind.Focus()
End Sub
Tag : .NET, MySQL, Ms SQL Server 2005, VB.NET, VS 2008 (.NET 3.x)
|
|
|
|
|
|
Date :
2011-05-13 13:51:44 |
By :
likhit |
View :
2007 |
Reply :
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้จะต้องใช้การ Debug ค่าแต่ล่ะตัวแล้วครับ ว่าแต่ชื่อฟิวด์เปลี่ยนเป็นภาษาอังกฤษก็ดีครับ
|
|
|
|
|
Date :
2011-05-13 14:01:27 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันผ่านหมดนะครับ พี่วิน ลอง check ดูแล้ว จะเกียวกับการเปิดปิดฐานข้อมูลหรือเปล่าครับ
|
|
|
|
|
Date :
2011-05-13 14:03:17 |
By :
likhit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BindData ใหม่หรือยังครับ ลองดูข้อมูลใน Database มัน Update หรือเปล่าครับ
|
|
|
|
|
Date :
2011-05-13 14:05:29 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษทีครับ พี่ เอาไปเอาไม่ได้เหมือนเดิมครับ ยังเป็นเหมือนเดิมเลย
|
ประวัติการแก้ไข 2011-05-13 14:21:24
|
|
|
|
Date :
2011-05-13 14:09:23 |
By :
likhit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเคยเจอปัญหานี้นะครับ
คือผมเคยเขียน WinApp ด้วย VB.NET ซึ่งมีการทำงานกับฐานข้อมูล MS SQL SERVER 2005 Express Edition
เวลา Add Connection จะเลือก Add Connection แบบ File ได้เท่านั้น อาการก็เป็นเหมือนของคุณคือสั่ง Update ข้อมูล
ใน Application จะเห็นว่ามันเปลี่ยนข้อมูลแล้ว แต่หากเราไปดูที่ไฟล์ Database มันจะยังคงเหมือนเดิม
วิธีแก้คือ
เราต้อง Add Connection แบบ SQL Server นะครับ
แต่เราสามารถ Add Connection แบบนี้ได้ ก็ต่อเมื่อเราใช้ MS SQL Server ที่ไม่ใช่ Version Express
ลองดูนะครับว่าจะได้หรือปล่าว
|
|
|
|
|
Date :
2011-05-13 15:25:14 |
By :
newDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบพระคุณครับ ตอนนี้ทราบปัญหาของตัวนี้แล้วครับ คือ
ในตัวฐานข้อมูลที่อ้าง path ผิดครับ
ตัวเดิมใน ไฟล์ confg เป็น
Code (VB.NET)
<add name="DB1" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Edoc.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" />
ผมแก้เป็นแบบ AttachFile เลยและระบุ path เลย
Code (VB.NET)
<add name="DB1" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=D:\JOB\work_for_EDOC\solution\test_Report\test_Report\Edoc.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" />
ผมขอถามต่อนะครับ
เราอยากเอาติดตั้งที่เครื่องอื่นโดยเราจะต้องทำยังไง ครับ ถึงจะแก้ปัญหาตัวนี้
|
|
|
|
|
Date :
2011-05-13 15:52:37 |
By :
likhit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติจะใช้ตัวนี้น่ะครับ AttachDbFilename=|DataDirectory|\Edoc.mdf โดยเอาไฟล์ Edoc.mdf ไว้ในโฟเดอร์ของ DataDirectory จะสามารถเรีกยได้ไม่มีปัญหาเรื่อง path ครับ
|
|
|
|
|
Date :
2011-05-13 16:11:01 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันต่างยังไงครับ ระหว่าง DataDirectory กับแบบ ระบุ path
จะมีผลตอนเอาไปติดตั้งใช้งานหรือเปล่าครับ
|
ประวัติการแก้ไข 2011-05-13 16:32:43
|
|
|
|
Date :
2011-05-13 16:29:59 |
By :
likhit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สามารถเรียก Database ได้เลย ป้องกันปัญหาการเรียก path ที่ไม่ถูกต้อง และอีกอย่าง Folder นี้ถูกกำหนดสิทธิ์ให้เรียกใช้ได้เฉพาะตัว Application
|
|
|
|
|
Date :
2011-05-13 21:22:09 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|