 |
|
จะทำการ Insert ข้อมูลลงดาต้าเบสครับ ขึ้น ERROR : ExecuteNonQuery requires an open and available Connection. The connection's current state is closed. |
|
 |
|
|
 |
 |
|
Code
ERROR : ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
พึ่งหัดเขียนครับ รบกวนชี้แนะด้วยครับ
Code (VB.NET)
Dim Sqlstring As String = ""
Sqlstring += "Insert Into [Transport] ([UserMailTransport], [SiteStartTransport], [SiteEndTransport], [DateTransport], [DateSendTransport], [StatusTransport]) values "
Sqlstring += "('" & labNameUser.Text & "', '" & cbbSiteStart.Text & "', '" & cbbSiteEnd.Text & "', '" & CDate(Date.Today) & "', '" & CDate(dtpDatePost.Text) & "', '1')"
Dim DC As New SqlConnection(frmModule1.conStringAccountAsset)
Dim DM As New SqlCommand(Sqlstring, DC)
DM.ExecuteNonQuery()
Tag : .NET, VB.NET
|
|
 |
 |
 |
 |
Date :
2013-04-25 18:06:57 |
By :
ZeedzarD |
View :
1314 |
Reply :
6 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันแจ้งว่า คอนเน็คชั่น ปิดอยู่ครับ ต้องเปิด คอนเน็คชั่นก่อนครับ
Code (VB.NET)
Dim Sqlstring As String = ""
Sqlstring += "Insert Into [Transport] ([UserMailTransport], [SiteStartTransport], [SiteEndTransport], [DateTransport], [DateSendTransport], [StatusTransport]) values "
Sqlstring += "('" & labNameUser.Text & "', '" & cbbSiteStart.Text & "', '" & cbbSiteEnd.Text & "', '" & CDate(Date.Today) & "', '" & CDate(dtpDatePost.Text) & "', '1')"
Dim DC As New SqlConnection(frmModule1.conStringAccountAsset)
DC.Open()
Dim DM As New SqlCommand(Sqlstring, DC)
DM.ExecuteNonQuery()
ลองดูแบบนี้ครับ ว่าได้ไหม
ถ้าไม่ได้เดี๋ยวมี พี่ ๆ เทพ มาดูให้แหละครับ ขอตัวกลับบ้านก่อน
|
 |
 |
 |
 |
Date :
2013-04-25 18:59:13 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ ขอบคุณมากครับ
แต่ทำไม่ผมเขียน select มันไม่เห็นต้อง Open() เลยครับ
|
 |
 |
 |
 |
Date :
2013-04-26 09:13:05 |
By :
ZeedzarD |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนเขียน Select เขียนแบบไหนขอดูหน่อยครับ
ผมก็เขียนไม่เป็นขอเป็นแนวนิดนึงนะครับ 
|
 |
 |
 |
 |
Date :
2013-04-26 09:19:05 |
By :
คนงานตัดอ้อย |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ประมาณนี้ครับ
Code (VB.NET)
Dim Sql1 As String = "Select * From Transport where StatusTransport='1' order by IdTransport desc"
Dim Connect1 As New SqlConnection(frmModule1.conStringAccountAsset)
Dim DA1 As New SqlDataAdapter(Sql1, Connect1)
Dim DT1 As New DataTable
DA1.Fill(DT1)
|
 |
 |
 |
 |
Date :
2013-04-26 10:57:52 |
By :
ZeedzarD |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ dataadapter เป็นการเขียนแบบ connection less ไม่จำเป็นต้อง open connection
แต่ถ้าใช้แบบ datareader ก็ต้อง open
ทั้งสองแบบมีข้อดีข้อด้อยต่างกัน แล้วแต่ลักษณะงาน
แบบ dataadapter ไม่ต้องเปิด connection เหมือนเรียกข้อมูลทั้งหมดมาเก็บไว้ใน memory
เมื่อมีข้อมูลทั้งหมดก็สะดวกในการเอามาคำนวณ แต่ก็กิน memory เยอะ สำหรับ data ขนาดใหญ่
แบบ datareader ต้องเปิด connection ค้างไว้ตลอดการใช้งาน
สามารถเรียกข้อมูลได้ทีละ record และได้แค่ทีละ step (next, previous)
เหมาะสำหรับข้อมูลประเภทอ่านอย่างเดียว หรือข้อมูลที่มีขนาดใหญ่ๆ
|
 |
 |
 |
 |
Date :
2013-04-26 11:25:49 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|