Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Nom de table non valide ?! [ Archives / Problème avec une requête ] (geii82)

mardi 25 avril 2006 à 17:01:20 | Nom de table non valide ?!

geii82

bonjour à tous amis dévellopeurs, voila j'utilise un code pour créer une base de donnée en local sur un pocket pc, cela me renvoi une erreur : "the table name is not valid. [ Token line number (if known) =1 , Token line offset (if known) = 22, Table name = Types ]

voici mon code :

Public Sub CreateCeDB()

        If Not File.Exists(CeDBFileName) Then
            Dim cu_sql As String
            Dim MyConnectionStr As String = "Data Source=" & CeDBFileName
            Dim MySqlCeEngine As New SqlCeEngine(MyConnectionStr)
            MySqlCeEngine.CreateDatabase() 'créé la base de donées

            Dim myconnection As New SqlCeConnection(MyConnectionStr)
            Try
                myconnection.Open()
                Dim mycmd As New SqlCeCommand
                mycmd = myconnection.CreateCommand
                mycmd.CommandType = Data.CommandType.Text
                'remplir cu_sql avec l'instruction pour créer les tables
                cu_sql = "CREATE TABLE [dbo].[Types] ("
                cu_sql += "[idtype] [int] NOT NULL ,"
                cu_sql += "[nom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += ") ON [PRIMARY]"
                mycmd.CommandText = cu_sql
                mycmd.ExecuteNonQuery()

                cu_sql = "CREATE TABLE [dbo].[Test] ("
                cu_sql += "[id] [char] (10) COLLATE French_CI_AS_NOT NULL,"
                cu_sql += "[id_test] uniqueidentifier ROWGUIDCOL NOT NULL,"
                cu_sql += "[idtype] [int] NULL ,"
                cu_sql += "[nomtype] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += "[montant] [money] NOT NULL ,"
                cu_sql += "[idperso] [int] NOT NULL ,"
                cu_sql += "[datetest] [datetime] NOT NULL ,"
                cu_sql += ") ON [PRIMARY]"
                mycmd.CommandText = cu_sql
                mycmd.ExecuteNonQuery()

                cu_sql = "CREATE TABLE [dbo].[Test2] ("
                cu_sql += "[idperso] [int] NOT NULL ,"
                cu_sql += "[nom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += "[prenom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += "[login] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += "[password] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += ") ON [PRIMARY]"
                mycmd.CommandText = cu_sql
                mycmd.ExecuteNonQuery()



            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Exclamation)

            End Try
        End If
    End Sub

Ps : j'ai un doute sur :
mycmd.CommandType = Data.CommandType.Text car sur la version d ebase c'étais mycmd.CommandType = CommandType.Text


J'espère que quelqu'un trouvera l'erreur, mercie beaucoup. C'est trés important.

mardi 25 avril 2006 à 17:37:51 | Re : Nom de table non valide ?!

aieeeuuuuu

salut

as tu essayé de mettre autre chose que "Types" comme nom de table. il s'agit peut etre d'un mot clef.
par exmple une table qui s'appelle ORDER posera des probleme car elle pourra etre confondue par le systeme avec le mot clef ORDER du tres fameux ORDER BY

a ma connaissance, Types n'est pas un mot clef SQL, mais fait le test pour etre sur que le probleme ne vient pas de la

mardi 25 avril 2006 à 17:41:42 | Re : Nom de table non valide ?!

geii82

je l'ai appelée michel, et sa fais pareil ^^

mercredi 26 avril 2006 à 09:21:28 | Re : Nom de table non valide ?!

Mindiell

Vire [dbo] etc..., esaye : CREATE TABLE Types ( et dans la deuxieme requete oublie pas de virer la virgule du dernier champ ;)

mercredi 26 avril 2006 à 10:43:10 | Re : Nom de table non valide ?!

geii82

J'aissayé de de virer [db0]... de cette façon et j'ai une nouvelle erreur :
The specified Data type is not valid. [ Data type (if known) = varchar ]


Imports System.Data.SqlServerCe
Imports System.IO


Public Class Form1

    Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
        Application.Exit()
    End Sub


    Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        If (e.KeyCode = System.Windows.Forms.Keys.Up) Then
            'Rocker Up
            'Up
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Down) Then
            'Rocker Down
            'Down
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Left) Then
            'Left
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Right) Then
            'Right
        End If
        If (e.KeyCode = System.Windows.Forms.Keys.Enter) Then
            'Enter
        End If

    End Sub

    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub

    Public Sub New()

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        CreateCeDB()


    End Sub


    Private CeDBFileName = "\Program Files\Base6.sdf" '"\Program Files\DiscoControl\Base\Base3.sdf"

    Public Sub CreateCeDB()

        If Not File.Exists(CeDBFileName) Then
            Dim cu_sql As String
            Dim MyConnectionStr As String = "Data Source=" & CeDBFileName
            Dim MySqlCeEngine As New SqlCeEngine(MyConnectionStr)
            MySqlCeEngine.CreateDatabase() 'créé la base de donées

            Dim myconnection As New SqlCeConnection(MyConnectionStr)
            Try
                myconnection.Open()
                Dim mycmd As New SqlCeCommand
                mycmd = myconnection.CreateCommand
                mycmd.CommandType = Data.CommandType.Text
                'remplir cu_sql avec l'instruction pour créer les tables
                cu_sql = "CREATE TABLE Types ("
                cu_sql += "[idtype] [int] NOT NULL ,"
                cu_sql += "[nom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                cu_sql += ") ON [PRIMARY]"
                mycmd.CommandText = cu_sql
                mycmd.ExecuteNonQuery()

                'cu_sql = "CREATE TABLE [dbo].[Test] ("
                '  cu_sql += "[id] [char] (10) COLLATE French_CI_AS_NOT NULL,"
                '   cu_sql += "[id_test] uniqueidentifier ROWGUIDCOL NOT NULL,"
                '   cu_sql += "[idtype] [int] NULL ,"
                '  cu_sql += "[nomtype] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                '   cu_sql += "[montant] [money] NOT NULL ,"
                ' cu_sql += "[idperso] [int] NOT NULL ,"
                '  cu_sql += "[datetest] [datetime] NOT NULL"
                '      cu_sql += ") ON [PRIMARY]"
                '     mycmd.CommandText = cu_sql
                '       mycmd.ExecuteNonQuery()

                '       cu_sql = "CREATE TABLE [dbo].[Test2] ("
                '        cu_sql += "[idperso] [int] NOT NULL ,"
                '         cu_sql += "[nom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                '         cu_sql += "[prenom] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                '         cu_sql += "[login] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                '         cu_sql += "[password] [varchar] (50) COLLATE French_CI_AS_NOT NULL "
                '         cu_sql += ") ON [PRIMARY]"
                '         mycmd.CommandText = cu_sql
                '          mycmd.ExecuteNonQuery()



            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Exclamation)

            End Try
        End If
    End Sub


    ' Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    'Dim myconnection As New SqlCeConnection("datasource = " & CeDBFileName)
    ' Dim myr As SqlCeDataReader
    '     myconnection.Open()
    ' Dim command As SqlCeCommand = New SqlCeCommand("select * from test", myconnection)
    '    myr = command.ExecuteReader
    '    While myr.Read
    '       ListBox1.Items.Add(myr("montant"))
    '     End While
    '   myr.Close()
    '   myr.Dispose()
    '    myconnection.Close()
    '   myconnection.Dispose()

    '  End Sub



End Class


Une idée ?

jeudi 27 avril 2006 à 09:59:15 | Re : Nom de table non valide ?!

aieeeuuuuu

essaie sans les crochets entre tes types de champs.
mets directement VARCHAR(60)

Les crochets servent normalement a préciser au systeme qu'il s'agit d'un nom donné par l'utilisateur, justement pour que le systeme ne "confonde" pas un nom de table ou de champ avec un mot clef.


jeudi 27 avril 2006 à 14:58:14 | Re : Nom de table non valide ?!

geii82

jai essayé comme sa : cu_sql = "CREATE TABLE Types ("
                                cu_sql += "[idtype] int NOT NULL ,"
                                cu_sql += "[nom] nvarchar(50) "
                                cu_sql += ") ON [PRIMARY]"


sa ne marche pas, vs connaissez pas un site ou je peut trouver les commandes exactes ?

jeudi 27 avril 2006 à 19:02:43 | Re : Nom de table non valide ?!

aieeeuuuuu

la c'est bizare.

mais ta syntaxe est bonne.
es tu sur que ce n'est pas un probleme de droit ?

tu as toujours la meme erreur avec cette derniere instruction ?

vendredi 28 avril 2006 à 14:26:47 | Re : Nom de table non valide ?!

geii82

toujours pareil oui, je travaille avec visual studio pro 2005, et j'émule avec le pcc2003. Au niveau des droits tu entends quoi par la ? Sinon oui c'est toujours une erreur similaire.


arf vais me faire tapper sur les doigts...

Merci de votre aide

vendredi 28 avril 2006 à 14:34:56 | Re : Nom de table non valide ?!

aieeeuuuuu

ce que j'entendais par droit, c'est est-ce que l'utilisteur avec lequel tu te logue sur SQL Server a les droits pour créer une table ?

je pense que le message d'erreur serait different mais bon.

sinon as tu essayé de lancer directement ta commande depuis un client SQL ?
pour voir si ton probleme vient de ta commande SQL ou du pilote que tu utilise pour la lancer.



1 2

Cette discussion est classé dans : table, sql, not, cu, mycmd


Répondre à ce message

Sujets en rapport avec ce message

sql serveur et not null [ par jimmy69 ] Bonjour,Je debute sous sql serveur et bon j'ai un stress !J'ai cree une table que voici CREATE TABLE T_personnes ( pktest INTEGER IDENTITY(0,1) NOT IDENTITY et SQL Server [ par romagny13 ] Bonjour,j'aurais voulu savoir si c'est possible de definir une colonne de table auto incrementée (avec identity) sous sql server grace a une instructi Requetes SQL !! [ par lolo80000 ] bonjour à tous,à partir du numero de processus dans la table processus je voudrai recuperer tout les champs de la table objectif, mais je n'y arrive v erreur : a foreign key constraint fails !!!! [ par vinz78 ] -- phpMyAdmin SQL Dump-- version 2.10.1-- http://www.phpmyadmin.net-- -- Serveur: localhost-- Généré le : Jeu 21 Juin 2007 à 10:53-- Version du serveu Windev sql [ par fernandsylvain ] demande d'aide j'utilise windev et j'ai un souci pour creer ma requete, mon probleme : j'ai 2 tables une avec 8 rubriques sur 100 lignes(TABLE 2) et u requete SQL INSERT tableau 2D dans table sql [ par LaTatadu91 ] Bonjour,je debute en SQL, je precise avant tout!je programme actuellement un petit logiciel sous VC++ et j'effectue quelques requetes SQL pour attaque Blème script SQL [ par dr_waloo ] Bonjour, Je souhaite ajouter une colonne dans une table et seter sa valaure par défaut à FALSE. Voilà mon script : //------------------------------- Dépendance de tables SQL [ par toutgreg ] Bonjour, Je suis entrain de faire l'architecture de ma base SQL et je bloque sur une dépendance de table. Pour résumer, j'ai 3 tables et je cherche à Colonne Table SQL 2000 [ par anspauldou ] SalutJe voudrai savoir s'il est possible en MS SQL2000 d'avoir une colonne en lecture seul dans ma table afin d'empêcher quiconque d'effectuer une mod Champs MEMO dans SQL Express??? [ par drakkard ] Bonjour, bonjour,n'étant pas très familier de SQL Express, je voulais savoir comment déclarer un champs memo dans SQL Express.Je souhaite créer une ta


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,56 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.