ragazzi ho nel database una tabella con un campo prova in questo campo voglio registrare + voci utilizzando una sola pagina di registrazione...e non ci riesco..

diciamo che i campi di testo sono
prova1
prova2
prova3

e io per inserirli in contemporanea faccio

RsTabella.AddNew
RsTabella("prova").Value=Request.Item("prova1")
RsTabella("prova").Value=Request.Item("prova2")
RsTabella("prova").Value=Request.Item("prova3")

dove sbaglio?
Spiegati un po' meglio, non ho ben capito cosa vuoi fare.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
in una tabella del database ho un campo ID e uno PROVA,ok?

voglio con una pagina di registrazione inserire + voci in questo campo, cioè deve venir fuori nel database una cosa del genere nella tabella

ID PROVA
1 Prova1
2 Prova2
3 Prova3
4 Prova4
5 Prova5

ecc.... capito?
Premessa: ID è un campo contatore.
Devi inserire una riga nel DB per ogni campo testuale. Una prima soluzione banale è questa.

Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))

Try
Dim myCommand As cmd = New SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.Text

cmd.CommandText = "INSERT INTO Tabella (Prova) VALUES(" & Request("prova1")  & ")"
cmd.ExecuteNonQuery()

cmd.CommandText = "INSERT INTO Tabella (Prova) VALUES(" & Request("prova2")  & ")"
cmd.ExecuteNonQuery()

cmd.CommandText = "INSERT INTO Tabella (Prova) VALUES(" & Request("prova3")  & ")"
cmd.ExecuteNonQuery()

[...]

cmd.Dispose()

Catch SQLexc As SqlException

[...]

Catch ex As Exception

[...]

Finally
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End Try


Sarebbe comunque meglio usare una stored procedure.

Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))

Try
Dim myCommand As cmd = New SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "sp_insert"

Dim par1 As SqlParameter = New SqlParameter("@prova1", SqlDbType.VarChar)
par1.Direction = ParameterDirection.Input
par1.Value = Request("prova1")
cmd.Parameters.Add(par1)

Dim par2 As SqlParameter = New SqlParameter("@prova2", SqlDbType.VarChar)
par2.Direction = ParameterDirection.Input
par2.Value = Request("prova2")
cmd.Parameters.Add(par2)

Dim par3 As SqlParameter = New SqlParameter("@prova3", SqlDbType.VarChar)
par3.Direction = ParameterDirection.Input
par3.Value = Request("prova3")
cmd.Parameters.Add(par3)

[...]

cmd.ExecuteNonQuery()
cmd.Dispose()

Catch SQLexc As SqlException

[...]

Catch ex As Exception

[...]

Finally
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End Try


Nella stored procedure devi inserire le varie istruzioni di INSERT.

Ciao, Ricky.
Modificato da rickyvr il 11 giugno 2004 14.06 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
Io invece uso questo metodo...

Dim ConnDBASE
Dim RecordSet2
Dim StrConn
Dim RsTabella
Dim NomeDataBase
Dim SqlEdit

StrConn = "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("PERCORSO DBASE")
Set ConnDBASE = Server.CreateObject("ADODB.Connection")
ConnDBASE.Open StrConn

SqlCommand="Select * from Prova"
ConnDBASE.BeginTrans
Set RsTabella = Server.CreateObject("ADODB.RecordSet")
RsTabella.ActiveConnection=ConnDBASE
RsTabella.Source=SqlCommand
RsTabella.CursorType= adOpenStatic
RsTabella.LockType=adLockOptimistic
RsTabella.open

RsTabella.AddNew
RsTabella("Prova").Value=Request.Item("Prova1")
RsTabella("Prova").Value=Request.Item("Prova2")
RsTabella("Prova").Value=Request.Item("Prova3")
RsTabella("Prova").Value=Request.Item("Prova4")
RsTabella("Prova").Value=Request.Item("Prova5")
RsTabella("Prova").Value=Request.Item("Prova6")
RsTabella.Update
RsTabella.Close

e con questo metodo mi dice che duplica i campi e mi da errore sai risolverlo?
Due domande:
- perchè usi una transazione? A che ti serve?
- perchè hai postato codice ASP nella sezione ASP.NET.

La soluzione che io ti avevo dato è in ASP.NET.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
Io non sono espertissimo ricky,purtroppo.....sai darmi una soluzione in Asp e non ASP.net??? mi serve assolutamente...aiutami per favore....grazie ancora..CIAO

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.