8 messaggi dal 25 ottobre 2010
Premetto che mi sto avvicinando soltanto da un mese all'ambiente .NET , pur essendo gia' un programmatore con esperienza...ma sto pagando un po dazio, pur avendo acquistato l'ottimo testo VISUAL BASIC 2010 e ASP.NET di HOEPLI.
In sostanza ho creato un DATASET con 2 DATATABLE e vorrei usando un DATA ADAPTER , eseguire il comando di inserimento record.
Non da errore ma non scrive nulla sul DB della connessione..
Se qualcuno ha voglia e tempo di darmi una dritta...la accetto molto volentieri

Allego codice :


====================================================================

Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim STRINGAprovaconn As String
STRINGAprovaconn =
"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Mydir\NORTHWND.MDF;Integrated Security=True;Connect Timeout=30;User Instance=False "

Dim mySqlConn As New SqlConnection(STRINGAprovaconn)

Dim queryString As String
Dim queryString2 As String

queryString = "SELECT CustomerID,companyname FROM Customers"
queryString2 = "SELECT ProductID,productname FROM Products"
mySqlConn.Open()

Dim mysqlAdapter As New SqlDataAdapter
mysqlAdapter.SelectCommand = New SqlCommand(queryString, mySqlConn)

Dim mysqlAdapter2 As New SqlDataAdapter
mysqlAdapter2.SelectCommand = New SqlCommand(queryString2, mySqlConn)

Dim myDS As New DataSet

myDS.Tables.Add("Customers")
myDS.Tables.Add("Products")
'-----------------------------------------------------
'Aggiornamento DATA SET e DATATABLE ma non DB fisico '
'-----------------------------------------------------

mysqlAdapter.Fill(myDS, "Customers")
mysqlAdapter2.Fill(myDS, "Products")

mySqlConn.Close()


'Inserimento record '

mySqlConn.Open()

Dim CmdInsert As SqlCommand
CmdInsert = New SqlCommand _
("INSERT INTO Products (ProductID,pRODUCTnAME) " & _
"VALUES (1000,'speriamo bene !!!')", mySqlConn)
mysqlAdapter2.InsertCommand = CmdInsert
mysqlAdapter2.Update(myDS, "Products")

mySqlConn.Close()
ciao, ma il codice per l'insert l'hai inserito nell'evento, ad esempio di un button? dal codice da te postato sembra tutto sia dentro al page_load...

poi a primo acchito mi sembra che ci sia qualcosa che non torna nel tuo codice, ma forse mi sbaglio, programmo quasi solo in c#...!


Creazione Siti Vicenza
Posizionamento Siti - SEO
8 messaggi dal 25 ottobre 2010
Ciao grazie per la risposta...beh e' solo un esempio...e quindi e' tutto all'interno del LOAD della pagina.
Ovviamente mettero' tutto dentro una classe oppure in un evento CLICK di un Button.

Diciamo che mi interessava capire dove sbagliavo.
Ma se programmi in C# beh forse fai + fatica ad aiutarmi...grazie lo stesso !!!!!!!!!
Buone feste.
maretix ha scritto:
Ciao grazie per la risposta...beh e' solo un esempio...e quindi e' tutto all'interno del LOAD della pagina.
Ovviamente mettero' tutto dentro una classe oppure in un evento CLICK di un Button.

nel load della pagina puoi inserire la connection (anche se secondo me è meglio all'interno dell'evento)

Diciamo che mi interessava capire dove sbagliavo.

l'errore che subito salta all'occhio è proprio quello dell'insert, devi specificare al verificarsi di quale evento fare l'inserimento, ma non solo, devi dirgli anche che dati inserire, quindi da dove prenderli (textbox, dropdown, etc e dove inseririli (i campi del tuo Db ad esempio)

Ma se programmi in C# beh forse fai + fatica ad aiutarmi...grazie lo stesso !!!!!!!!!
Buone feste.

beh, faccio un po fatica perchè il vb.net non lo uso quasi mai, anche se qualche concetto basilare ce l'ho... diciamo pure che ci metto di piu a "decifrarlo"

Creazione Siti Vicenza
Posizionamento Siti - SEO
8 messaggi dal 25 ottobre 2010
Ciao
dove leggo i dati del DB e' in questo punto.
Inserisco nel campo ProductID il valore 1000 ed invece nel caampo ProductName il valore 'speriamo bene')


Dim CmdInsert As SqlCommand
CmdInsert = New SqlCommand _
("INSERT INTO Products (ProductID,pRODUCTnAME) " & _
"VALUES (1000,'speriamo bene !!!')", mySqlConn)
mysqlAdapter2.InsertCommand = CmdInsert
mysqlAdapter2.Update(myDS, "Products")

mySqlConn.Close()
8 messaggi dal 25 ottobre 2010
Certo immagino ti ringrazio tanto comunque ovvio !!!

Forse ho capito dove sbaglio.

Devo probabilmente nel comando di inserimento i PARAMETRI , PARAMETRI che il dataadapter prendera' dai records inseriti nel DATASET...

Esempio:

' Esempio di creazione manuale di un comando SQL
Dim sql As String
sql = "INSERT INTO Clienti (IDCliente, NomeSocieta, Paese, Telefono)"
sql = sql & " VALUES(@IDCliente, @NomeSocieta, @Paese, @Telefono)"
Dim cmd As New OleDbCommand(sql, cn)
da.InsertCommand = cmd
da.InsertCommand.Parameters.Add("@IDCliente", OleDbType.VarChar, 5, "IDCliente")
da.InsertCommand.Parameters.Add("@NomeSocieta", OleDbType.VarChar, 40, "NomeSocieta")
da.InsertCommand.Parameters.Add("@Paese", OleDbType.VarChar, 15, "Paese")
da.InsertCommand.Parameters.Add("@Telefono", OleDbType.VarChar, 24, "Telefono")


Ovviamente i records saranno prima inseriti nel DATASET e nella relativa DATA TABLE e poi come dire 'storicizzati' nel DB vero tramite il DATA ADAPTER...vediamo se ci riesco.

Ma la tua frase ...'devi dirgli cosa copiare ' mi ha forse fatto capire.

GRAZIE vediamo un po , cosa succede.

Ciao notte.

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.