22. august 2015 - 18:52Der er
15 kommentarer og 1 løsning
Hjælp til mysql connection select and insert and update
Hej
Jeg er igang med at lære asp.net og er stødt på et problem da jeg er igang med at lave en windows service som skal kun se min domain i gemmen og så skal den oprette et par poster og her efter updater domain men så er det jeg under mig hvorfor jeg skal have flere connection til database for at kun dette at jeg ikke kan bruge den connection jeg har
Min kode er lige nu Using conn As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") conn.Open() Using DebitorDomain As New MySqlCommand("SELECT * FROM debitor INNER JOIN debitor_domain ON debitor.debitorID=debitor_domain.debitorID WHERE debitor.debitorID>0 and debitor_domain.DomainLast<=CURDATE() ORDER BY debitor_domain.domainID", conn) Using DomainRS As MySqlDataReader = DebitorDomain.ExecuteReader If DomainRS.HasRows = True Then While DomainRS.Read
Using DomainConn As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") DomainConn.Open() Dim UpDomain As New MySqlCommand("UPDATE debitor_domain SET DomainLast=ADDDATE(DomainLast,DomainPeriode*365) WHERE DomainID=@DomainID", DomainConn) UpDomain.Parameters.AddWithValue("@DomainID", DomainRS("DomainID")) UpDomain.ExecuteNonQuery()
End Using
End While End If End Using
End Using
End Using
og her er det jeg er ked af jeg skal lave nye connection til database hver gang jeg skal lave nåde i den.
Using selcon As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") Using updcon As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") selcon.Open() updcon.Open() Using selcmd As New MySqlCommand("SELECT * FROM debitor INNER JOIN debitor_domain ON debitor.debitorID=debitor_domain.debitorID WHERE debitor.debitorID>0 and debitor_domain.DomainLast<=CURDATE() ORDER BY debitor_domain.domainID", selcon) Using updcmd As New MySqlCommand("UPDATE debitor_domain SET DomainLast=ADDDATE(DomainLast,DomainPeriode*365) WHERE DomainID=@DomainID", updcon) updcmd.Parameters>Add("@DomainID", MySqlDbType.Int32) Using selrdr As MySqlDataReader = selcmd.ExecuteReader While selrdr.Read updcmd.Parameters("@DomainID").Value = selrdr("DomainID") updcmd.ExecuteNonQuery() End While End Using End Using End Using End Using End Using
Hvorfor omdøbe dem. Jeg skal jo både oprette post og updater hovde post. ;)
første skal jeg se om der er domain der er ved at udløbe og hvis der de er det så skal der laves en faktura herefter skal de så updater sådan at der ikke bliver lave en ny faktura.
Jeg har prøvet og nåde virker og nåde virker ikke..
Using Conn1 As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") Using Conn2 As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") Using Conn3 As New MySqlConnection("server=localhost;database=mydb;uid=myuser;pwd=mypass;") Conn1.Open() Conn2.Open() Conn3.Open() Using DebitorDomain As New MySqlCommand("SELECT * FROM debitor INNER JOIN debitor_domain ON debitor.debitorID=debitor_domain.debitorID WHERE debitor.debitorID>0 and debitor_domain.DomainLast<=CURDATE() ORDER BY debitor_domain.domainID", Conn1) 'Oprettels af faktura
Using DebitorOrder As New MySqlCommand("INSERT INTO debitor_order (`OrderNr`, `DebitorID`) VALUES ('1', @DebitorID)", Conn2) DebitorOrder.Parameters.Add("@DebitorID", MySqlDbType.Int32) Using myDebitorOrder As MySqlDataReader = DebitorOrder.ExecuteReader While myDebitorOrder.Read 'Oprettels af orderline DebitorOrder.Parameters("@DebitorID").Value = myDebitorOrder("DebitorID") DebitorOrder.ExecuteNonQuery() End While End Using End Using
'Updatering af Domain Using DebitorDomainRS As New MySqlCommand("UPDATE debitor_domain SET DomainLast=ADDDATE(DomainLast,DomainPeriode*365) WHERE DomainID=@DomainID", Conn3) DebitorDomainRS.Parameters.Add("@DomainID", MySqlDbType.Int32) Using myDebitorDomain As MySqlDataReader = DebitorDomainRS.ExecuteReader While myDebitorDomain.Read DebitorDomainRS.Parameters("@DomainID").Value = myDebitorDomain("DomainID") DebitorDomainRS.ExecuteNonQuery() End While End Using End Using
End Using
End Using
End Using End Using
Jeg har prøvet med at sætte et del ind som kan oprette en post men den bliver ved med at give fejl. som jeg ikke lige kan forstå.. Dog er jeg komme op på 3 connection..
Jeg har prøvet at rette det til så jeg ikke få fejl
Conn1.Open() Conn2.Open() Conn3.Open() Using DebitorDomain As New MySqlCommand("SELECT * FROM debitor INNER JOIN debitor_domain ON debitor.debitorID=debitor_domain.debitorID WHERE debitor.debitorID>0 and debitor_domain.DomainLast<=CURDATE() ORDER BY debitor_domain.domainID", Conn1) 'Oprettels af faktura Using DebitorOrder As New MySqlCommand("INSERT INTO debitor_order (`OrderNr`, `DebitorID`) VALUES ('1', @DebitorID)", Conn2) DebitorOrder.Parameters.Add("@DebitorID", MySqlDbType.Int32)
'Oprettels af orderline DebitorOrder.Parameters("@DebitorID").Value = 1 DebitorOrder.ExecuteNonQuery() End Using
'Updatering af Domain Using DebitorDomainRS As New MySqlCommand("UPDATE debitor_domain SET DomainLast=ADDDATE(DomainLast,DomainPeriode*365) WHERE DomainID=@DomainID", Conn3) DebitorDomainRS.Parameters.Add("@DomainID", MySqlDbType.Int32) Using myDebitorDomain As MySqlDataReader = DebitorDomainRS.ExecuteReader While myDebitorDomain.Read DebitorDomainRS.Parameters("@DomainID").Value = myDebitorDomain("DomainID") DebitorDomainRS.ExecuteNonQuery() End While End Using End Using
End Using
Men så updater den ikke domain efter den har oprette en order til debitor 1. som jeg ikke har kun få lov at hente fra DebitorDomain
Før da jeg have den på sage den bare at den ikke kun finde null.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.