Dim oConn As SQLConnection Dim Send As SQLCommand Dim Hent As SQLCommand Dim Penge As String
Penge = request("Prisen") oConn = New SQLConnection("server=x.x.x.x;user id=;password=;database=licenser")
Send = New SQLCommand("INSERT INTO Licens (Pris) VALUES ('" & Penge & "')")
oConn.Open()
oConn.BeginTransaction()
oConn.Close() %>
Penge er mit id på den Textbox hvor jeg indskriver min værdi og Licens er min database og Pris er en coluum i tabellen, har fjernet ip'en fordi jeg er paranoid ^^ ps begyndte med MS Sql og ASP for 30min siden så er ikke særlig haj til det
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hmmm, nu er jeg ikke haj til VB, men det ser ikke ud til at du sender din query: du åbner en connection og begynder en transaction, men du fortæller ingen steder at det er Send, der skal bruges...
Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As SqlConnection) Dim myCommand As New SqlCommand(myExecuteQuery, myConnection) myCommand.Connection.Open() myCommand.ExecuteNonQuery() myConnection.Close() End Sub 'CreateMySqlCommand
Hvis jeg skriver send i BeginTransaction(Send) så laver den, denne fejl
: error BC30518: Overload resolution failed because no accessible 'BeginTransaction' can be called with these arguments: 'Public Function BeginTransaction(transactionName As String) As System.Data.SqlClient.SqlTransaction': Value of type 'System.Data.SqlClient.SqlCommand' cannot be converted to 'String'. 'Public Function BeginTransaction(iso As System.Data.IsolationLevel) As System.Data.SqlClient.SqlTransaction': Value of type 'System.Data.SqlClient.SqlCommand' cannot be converted to 'System.Data.IsolationLevel'.
i ovenstående bliver din command tilknyttet den specifikke connection og du sender et statement til din database.
At benytte transcantio her er overkill, synes jeg, men hvis du vil skal der meget mere til:
Public Sub RunSqlTransaction(myConnString As String) Dim myConnection As New SqlConnection(myConnString) myConnection.Open()
Dim myCommand As SqlCommand = myConnection.CreateCommand() Dim myTrans As SqlTransaction
' Start a local transaction myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted, "SampleTransaction") ' Must assign both transaction object and connection ' to Command object for a pending local transaction myCommand.Connection = myConnection myCommand.Transaction = myTrans
Try myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')" myCommand.ExecuteNonQuery() myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')" myCommand.ExecuteNonQuery() myTrans.Commit() Console.WriteLine("Both records are written to database.") Catch e As Exception Try myTrans.Rollback("SampleTransaction") Catch ex As SqlException If Not myTrans.Connection Is Nothing Then Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ " was encountered while attempting to roll back the transaction.") End If End Try
Console.WriteLine("An exception of type " & e.GetType().ToString() & _ "was encountered while inserting the data.") Console.WriteLine("Neither record was written to database.") Finally myConnection.Close() End Try End Sub 'RunSqlTransaction
har du implementeret det eksempel jeg skrev først?
Din oprindelige kode gør intet i retning af at sende noget til databasen så vidt jeg kan se. Du har en command, som ikke er knyttet til noget som helst og du åbner en forbindelse, siger du vil starte en transaction, og lukker så forbindelsen igen. Det vil der ikke ske noget ved (i hvert fald ikke i basen, andet end at du har en åben connection et øjeblik.
Hvad er koden til der hvor du henter i basen? eller har du gjort direkte i basen?
Sådan godt et år senere.... Er det ikke lukketid, ellers ville lidt respons være lækkert...
Synes godt om
Ny brugerNybegynder
Din løsning...
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.