IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

The version of SQL Server in use does not support datatype 'date'.


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut The version of SQL Server in use does not support datatype 'date'.
    j'essaye d'inserer des données récupérées d'un formulaire(sous visual studio)dans une table sur sql server.

    dans cette table, il y'a des données de type date.
    et dans le formulaire, je récupere les champs de la saisie des dates et je les convertit en date en appelant CDate.
    mais malheureusement on m'affiche ce message d'erreur:

    System.ArgumentException was unhandled
    Message=The version of SQL Server in use does not support datatype 'date'.
    Source=System.Data
    StackTrace:
    at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc)
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    at GRH_stage.onglet_nouveau_employe.BT_enregistrer_info_prof_Click(Object sender, EventArgs e) in C:\Users\best\Desktop\GRH_stage\GRH_stage\onglet_nouveau_employe.vb:line 735
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
    at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
    at System.Windows.Forms.Application.Run(ApplicationContext context)
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
    at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
    at GRH_stage.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()
    InnerException:

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Sous SQL Server, le type DATE n'existe qu'a partir de la version 2008 (vous n'avez pas précisé la votre)

    si vous avez une version antérieure, utilisez DATETIME

  3. #3
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    salut

    j'utilise sql server management studio express 2005 et visual studio 2010.

    j'ai mis le type datetime pour les 2 champs:
    date de naissance et date de recrutement.

    sur visual studio je récupère la valeur de ces 2dates, et je les convertis.
    j'ai utilisé pas mal de fonctions pour assurer une bonne conversion de string vers date:
    exemple:
    Convert.ToDateTime(T_date_recrut.Text) et CDate(T_date_recrut.Text) et Date.Parse(T_date_recrut.Text) et FormatDateTime(T_date_recrut.Text)

    malheureusement toujours le même message d'erreur:
    The version of SQL Server in use does not support datatype 'date'.

    qu'est ce que je peux faire pour réussir l'insertion dans ma table sur sql server via un formulaire sous visual studio?

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    Je pense que ce n'est pas la façon dont vous convertissez la date, mais bien le type que vous donnez à l'un de vos paramètres (pour votre sqlCommand ?)

    Le type DATE doit être disponible dans votre version de Visual studio, puisque compatible avec la version 2008 de SQL Server, mais a l’exécution, votre version 2005 ne doit pas accepter ce type.

    Vérifiez le type que vous spécifiez pour les paramètres de votre requête

  5. #5
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    vous avez raison, j'ai mis Date lorsque je définissait les paramétres.j'ai mis donc datetime , et
    mais il y'a un autre message d'erreur est ce que vous pouvez m'aider aieeeuuuuu ?

    le message est:
    An explicit value for the identity column in table 'employe' can only be specified when a column list is used and IDENTITY_INSERT is ON.

    merci beaucoup

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Vous essayez d'inserer une ligne dans une table en spécifiant explicitement une valeur pour la colonne identité (pour la clef primaire) alors que vous devriez laisser au sgbdr le soin de valuer cette colonne.

    lorsque vous voulez insérer un nouvel employé, vous devez donc renseigner les colonnes nom, prenom, ... mais rien pour l'identifiant, qui sera généré par le SGBDR. Vous pourrez ensuite récupérer la valeur attribuée automatiquement grâce a @@IDENTITY

  7. #7
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    salut
    merci beaucoup!

    j'ai pas spécifié le id mais pourtant on m'affiche ce message.
    j'ai essayé de mettre
    set identity_insert employe on/off;

    req = "insert into employe values (@ppr,@nomF,@prenomF,@nomA,@prenomA,@adresseF,@adresseA,@cin,@genre,@sit_fF,@sit_fA,@lieuNF,@lieuNA,@dateR,@nbreE,@dateN,@cmt,@statut,@corps,@regime,@cnops,@aff)"

    With cmd.Parameters

    .Add(New SqlParameter("@ppr", SqlDbType.Int, 4))
    .Add(New SqlParameter("@nomF", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@prenomF", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@nomA", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@prenomA", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@adresseF", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@adresseA", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@cin", SqlDbType.Int, 4))
    .Add(New SqlParameter("@genre", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@sit_fF", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@sit_fA", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@nbreE", SqlDbType.Int, 4))
    .Add(New SqlParameter("@dateN", SqlDbType.DateTime, 4000))
    .Add(New SqlParameter("@lieuNF", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@lieuNA", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@dateR", SqlDbType.DateTime, 4000))
    .Add(New SqlParameter("@cmt", SqlDbType.Int, 4))
    .Add(New SqlParameter("@statut", SqlDbType.Int, 4))
    .Add(New SqlParameter("@corps", SqlDbType.Int, 4))
    .Add(New SqlParameter("@regime", SqlDbType.NVarChar, 4000))
    .Add(New SqlParameter("@cnops", SqlDbType.Int, 4))
    .Add(New SqlParameter("@aff", SqlDbType.Int, 4))
    End With

    With cmd
    .Parameters("@ppr").Value = Val(T_ppr.Text)
    .Parameters("@nomF").Value = T_nom_emp_fr.Text
    .Parameters("@prenomF").Value = T_prenom_emp_fr.Text
    .Parameters("@nomA").Value = T_nom_emp_ar.Text
    .Parameters("@prenomA").Value = T_prenom_emp_ar.Text
    .Parameters("@adresseF").Value = T_adresse_fr.Text
    .Parameters("@adresseA").Value = T_adresse_ar.Text
    .Parameters("@cin").Value = Val(T_cin.Text)
    .Parameters("@genre").Value = RB_feminin_fr.Text
    .Parameters("@sit_fF").Value = CMB_sit_fam_fr.SelectedItem
    .Parameters("@sit_fA").Value = CMB_sit_fam_fr.SelectedIndex
    .Parameters("@nbreE").Value = Val(T_nbre_enf_fr.Text)
    .Parameters("@dateN").Value = CDate(T_date_nais.Text)
    .Parameters("@lieuNF").Value = T_lieu_nais.Text
    .Parameters("@lieuNA").Value = T_lieu_nais_ar.Text
    .Parameters("@dateR").Value = CDate(T_date_recrut.Text)
    .Parameters("@cmt").Value = Val(T_cmt.Text)
    .Parameters("@statut").Value = idstatut
    .Parameters("@corps").Value = idcorps
    .Parameters("@regime").Value = CMB_regime.SelectedItem
    .Parameters("@cnops").Value = Val(T_num_cnops.Text)
    .Parameters("@aff").Value = Val(T_num_affiliation.Text)
    End With

  8. #8
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    c'est résolu
    dieu merci

    il aurait fallu préciser les champs de la table: insert into employe(champs1,...) values(valeur1,....)


    je vous remercie "aieeeuuuuu" pour votre coup de main

    bonne semaine

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/04/2010, 02h27
  2. Pb de connexion SQL SERVER 2005 Express "does not allow remote connections"
    Par nicolas_cs2i dans le forum Accès aux données
    Réponses: 3
    Dernier message: 19/06/2007, 10h58
  3. [VS2005 + TFS] Version de SQL Server sur client
    Par SergeF dans le forum Visual Studio
    Réponses: 1
    Dernier message: 15/12/2006, 12h35
  4. version de sql server sous xp
    Par zalalus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/07/2006, 14h26
  5. Compatibilité entre les versions de SQL SERVER
    Par HYQST dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/06/2006, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo