Je continue d'obtenir une erreur disant "il y a une erreur dans votre syntaxe SQL." quand j'utilise cette instruction SQL:Standard SQL SELECT * FROM TABLE erreur de syntaxe de retour
SELECT * FROM gsm_oceanwide_integration
EDIT:
Pour mettre cela en contexte Heres le code im en utilisant cette instruction de requête dans (VB.net):
Dim con As MySqlConnection = New MySqlConnection("Data Source=" & frmLogin.txtserver.Text & ";Database=stratocast;User ID=" & frmLogin.txtusername.Text & ";Password=" & frmLogin.txtpassword.Text & ";")
Dim sqladmin As MySqlCommand = New MySqlCommand("SELECT * FROM employee", con)
Dim sqlprojects As MySqlCommand = New MySqlCommand("SELECT * FROM projects", con)
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
Dim ds5 As DataSet = New DataSet()
Dim DataAdapter5 As MySqlDataAdapter = New MySqlDataAdapter()
Dim Comb As MySqlCommandBuilder
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' retrieving the Project Page.
Try
con.Open()
DataAdapter5.SelectCommand = sqlpage
DataAdapter5.Fill(ds5, "stratocast")
DataGridView3.DataSource = ds5
DataGridView3.DataMember = "stratocast"
con.Close()
Catch myerror As MySqlException
MessageBox.Show("Error Retrieving Project Page: " & myerror.Message)
End Try
End Sub
sur mon frmMain forme j'ai une liste avec une liste de projets (l'un d'eux étant gsm_oceanwide_integration) et je veux faire en sorte que quand je clique sur cette sélection, il affichera un autre formulaire avec une vue de données. ce datagridview doit être rempli avec les données de la table que j'ai appelé gsm_oceanwide_integration. (Comme la sélection listbox)
donc ma déclaration en cours de requête (y compris les balises de VB.NET) est:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
Il travaillait plus tôt aujourd'hui, mais je dois avoir changé quelque chose et oublié ... depuis lors le meilleur que je peux faire est de se débarrasser de toutes les erreurs mais le datagridview n'affichera toujours rien sur ma base de données. Oui, j'ai vérifié toute l'orthographe.
MISE À JOUR 2: J'ai changé ma déclaration de commande sqlpage de:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
Pour:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM [" & Me.ListBox1.SelectedItem.Value & "]", con)
et je suis une nouvelle erreur sur une autre forme tous ensemble mais il est lié à la listbox1; dont le code est ci-dessous:
Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
Form1.indprojectname.Text = ListBox1.SelectedItem
Form1.Show()
End Sub
L'erreur est affiché dans cette capture d'écran (je pensais une capture d'écran peut être la meilleure méthode pour afficher les détails d'erreur):
l'erreur est: (au cas où vous ne pourriez pas lire la capture d'écran)
Une erreur s'est produite lors de la création du formulaire. Voir Exception.InnerException pour plus de détails. L'erreur est: Variable d'objet ou Avec la variable de bloc non définie.
Aussi, merci pour les réponses rapides, désolé je ne pouvais pas mettre à jour mon post plus tôt ...
Merci!
la requête semble OK pour moi. Est-ce que vous nous montrez tout? En ce qui concerne les espaces dans les noms de tables, il est possible d'échapper les noms avec des ticks de retour (par exemple, '' my table'', mais je recommanderais de ne les utiliser que pour la lisibilité.) –
Votre requête ne se termine pas par la norme délimiteur ';' .Est-ce que vous utilisez un certain type de délimiteur personnalisé? – ajreal
'gsm_oceanwide_integration' est un mot réservé, duh! – Johan