 |
|
VB.NET ถามเกี่ยวกับเรื่อง execute nonquery และฐานข้อมูลครับ |
|
 |
|
|
 |
 |
|
ผมเขียนโค๊ดในส่วนการบันทึกข้อมูลลูกค้าเพื่อจะลงฐานข้อมูลครับ
ซึ่งมันผ่านนะครับ แต่ว่าพอคลิกดูในฐานข้อมูล Customer มันดันไม่มีข้อมูลใหม่ที่เพิ่มเข้าไป มีแต่ข้อมูลเก่าที่ผมเขียนลงฐานข้อมูลไว้เอง
เหมือนว่ามันโชว์ตอน debug แปปเดียว พอเปิดโปรแกรมใหม่ก็ไม่เห็นแล้วอ่ะครับ งงตาแตกมาก -..-
Code (VB.NET)
Private Sub AddParameters(ByVal sql As String)
command.Parameters.Clear()
command.CommandText = sql
command.Parameters.AddWithValue("id", SqlDbType.Int).Value = txtID.Text
command.Parameters.AddWithValue("title", SqlDbType.NVarChar).Value = ComboTitle.Text
command.Parameters.AddWithValue("name", SqlDbType.NVarChar).Value = txtName.Text
command.Parameters.AddWithValue("address", SqlDbType.NVarChar).Value = txtAddress.Text
command.Parameters.AddWithValue("tel", SqlDbType.NVarChar).Value = txtTel.Text
If Not (PictureBox1.Image Is Nothing) Then
Dim memStream As New IO.MemoryStream()
PictureBox1.Image.Save(memStream, Drawing.Imaging.ImageFormat.Bmp)
Dim pic() As Byte = memStream.ToArray()
command.Parameters.AddWithValue("pic", SqlDbType.Image).Value = pic
End If
End Sub
Private Sub ButtonSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSave.Click
'-- สร้างคำสั่ง SQL สำหรับการเพิ่มข้อมูลแบบใช้พารามิเตอร์
sql = "INSERT INTO Customer(CusID, CusTitle, CusName, CusAddress, CusTel)" & _
"VALUES(@id, @title, @name, @address, @tel)"
sql = "INSERT INTO Customer"
If Not (PictureBox1.Image Is Nothing) Then
sql &= "(CusID, CusTitle, CusName, CusAddress, CusTel, CusPic) "
sql &= "VALUES(@id, @title, @name, @address, @tel, @pic)"
Else
sql &= "(CusID, CusTitle, CusName, CusAddress, CusTel) "
sql &= "VALUES(@id, @title, @name, @address, @tel)"
End If
AddParameters(sql)
Dim result As Integer = command.ExecuteNonQuery()
If result = -1 Then
MessageBox.Show("เกิดข้อผิดพลาด ไม่สามารถเพิ่มข้อมูลได้")
Else
MessageBox.Show("บันทึกข้อมูลแล้ว")
'-- หลังการเพิ่มข้อมูล ให้กลับสู่การแสดงผลปกติ ซึ่งเราต้องอ่านข้อมูลมาแสดงใหม่
'-- โดยขั้นตอนนี้จะมีวิธีการเหมือนกับการยกเลิกการเพิ่มข้อมูล ดังนั้นเพื่อไม่ต้องเขียนโค้ดซ้ำซ้อนกัน
'-- เราก็สั่งให้ปุ่มเพิ่มข้อมูล(ซึ่งขณะนี้ความบนปุ่มคือ "ยกเลิก")ถูกคลิกโดยอัตโนมัติ ให้เกิดการตอบสนองแบบเดียวกัน
ButtonAdd.PerformClick()
End If
End Sub
Tag : .NET, VB.NET
|
|
 |
 |
 |
 |
Date :
2012-02-21 22:43:07 |
By :
sukqoojuicy |
View :
1395 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนที่ Debug ดูมันมี Error หรือเปล่าครับ
ตัวอย่างการ Insert ผ่าน Parameters
Code (VB.NET)
Dim objConn As System.Data.SqlClient.SqlConnection
Dim objCmd As System.Data.SqlClient.SqlCommand
Dim strConnString,strSQL As String
strConnString = "Server=localhost;UID=sa;PASSWORD=;database=mydatabase;Max Pool Size=400;Connect Timeout=600;"
objConn = New System.Data.SqlClient.SqlConnection(strConnString)
objConn.Open()
'*** FOR INSERT ***'
strSQL = "INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " & _
"VALUES (@sCustomerID,@sName,@sEmail,@sCountryCode,@sBudget,@sUsed)"
objCmd = New System.Data.SqlClient.SqlCommand(strSQL,objConn)
'*** Sample 1 ***'
'With objCmd
' .Parameters.AddWithValue("@sCustomerID","C005")
' .Parameters.AddWithValue("@sName","Weerachai Nukitram")
' .Parameters.AddWithValue("@sEmail","[email protected]")
' .Parameters.AddWithValue("@sCountryCode","TH")
' .Parameters.AddWithValue("@sBudget","2000000")
' .Parameters.AddWithValue("@sUsed","1000000")
'End With
'*** Sample 2 ***'
With objCmd
.Parameters.Add(New SqlParameter("@sCustomerID","C005"))
.Parameters.Add(New SqlParameter("@sName","Weerachai Nukitram"))
.Parameters.Add(New SqlParameter("@sEmail","[email protected]"))
.Parameters.Add(New SqlParameter("@sCountryCode","TH"))
.Parameters.Add(New SqlParameter("@sBudget","2000000"))
.Parameters.Add(New SqlParameter("@sUsed","1000000"))
End With
objCmd.ExecuteNonQuery()
Go to : ASP.NET System.Data.SqlClient - Parameter Query (SqlParameter)
|
 |
 |
 |
 |
Date :
2012-02-22 06:35:39 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มี error นะครับ เดี๋ยวยังไงเดี๋ยวลองดูครับ
|
 |
 |
 |
 |
Date :
2012-02-23 00:14:20 |
By :
sukqoojuicy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|