malain24
Messages postés1Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention22 novembre 2003
-
22 nov. 2003 à 17:07
hananasp
Messages postés8Date d'inscriptiondimanche 20 juillet 2008StatutMembreDernière intervention23 octobre 2008
-
10 oct. 2008 à 10:06
Bonjour,
je suis débutant en asp.net
Sur un livre, ils apprennent à faire un site web avec une base de donnée
access avec une seule table.
Le but étant d'apprendre à ajouter, modifier et supprimer des données dans
la base de donnée depuis un site.
J'ai fait l'exercice en entier. Mais hélas après plusieurs heures de
recherche je n'arrive pas à ajouter quelques chose.
Sinon, modif et suppression marche.
le code asp.net de ma page est :
Dim ConnectString, SelectStatement As String
Dim Connect As OleDbConnection = New OleDbConnection
Dim Adapter As OleDbDataAdapter = New OleDbDataAdapter
Dim ClassyCB As OleDbCommandBuilder
Dim ClassyDS As DataSet = New DataSet
Dim rowD As DataRow
Dim AdNumSent As Integer
Dim CatListIndex As Integer
If ClassyDS.HasErrors Then
Message.Text = "Erreur lors de l'enregistrement de votre annonce " & _
ClassyDS.Tables("Ads").Rows(0).RowError
Else
Message.Text = "Votre annonce a t enregistre"
TitleText.Enabled=False
DescriptionText.Enabled=False
CategoryDropDown.Enabled=False
PriceText.Enabled=False
PhoneText.Enabled=False
EmailText.Enabled=False
StateText.Enabled=False
PasswordText.Enabled=False
Submit.Enabled=False
End If
End Sub
Sub GetAd(AdNumSent As Integer)
SelectStatement = "Select * From Ads Where AdNum=" & AdNumSent
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\inetpub\wwwroot\simplyclassy\classydb.mdb"
Connect.ConnectionString = ConnectString
Adapter.SelectCommand = _
new OleDbCommand(SelectStatement, Connect)
ClassyCB = New OleDbCommandBuilder(Adapter)
Adapter.Fill(ClassyDS,"Ads")
End Sub
la page d'erreur que j'ai est :
Erreur de syntaxe dans l'instruction INSERT INTO.
Description : Une exception non gérée s'est produite au moment de
l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour
plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.OleDb.OleDbException: Erreur de syntaxe
dans l'instruction INSERT INTO.
Erreur source:
Ligne 30 : ClassyDS.Tables("Ads").Rows.Add(rowD)
Ligne 31 :
Ligne 32 : Adapter.Update(ClassyDS, "Ads")
Ligne 33 :
Ligne 34 : If ClassyDS.HasErrors Then
Fichier source : c:\inetpub\wwwroot\ASPNET\chapitre19\placead.aspx Ligne
: 32
Trace de la pile:
[OleDbException (0x80040e14): Erreur de syntaxe dans l'instruction INSERT
INTO.]
System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows,
DataTableMapping tableMapping) +1550
System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
+152
ASP.placead_aspx.Submit_Click(Object Sender, EventArgs E) in
c:\inetpub\wwwroot\ASPNET\chapitre19\placead.aspx:32
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
Ha oui depuis le temps je me suis un peu amélioré et finalement d'rpaès mes souvenirs, ces les droits NTFS de la BD access la cause. Il faut mettre les droits en lecture, écriture pour tout le monde je crois. Un tuc du style je me souviens pas trop.