Access @@identity avec numauto et N° de réplication

Signaler
Messages postés
6
Date d'inscription
mercredi 28 avril 2004
Statut
Membre
Dernière intervention
6 mars 2005
-
Messages postés
3
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
16 mai 2008
-
Je n'arrive pas à récuperer le guid correspondant lors d'un insert cela fonctionne avec un entier long mais pas avec un N° de réplication.
Est-ce possible ?



string ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0";


ConnectionString +=
@";Data Source=C:\Documents and Settings\Administrateur\Mes documents\CSharp\GP\Base\GP.mdb";



System.
Console.WriteLine(ConnectionString);



OleDbConnection oleDB =
new
OleDbConnection(ConnectionString);


oleDB.Open();



Console.WriteLine(oleDB.State.ToString());






OleDbCommand cmd =
new
OleDbCommand();



// Nouveau



String mySql =
"Insert into [GP] ([Version]) Values ([@Version])";


cmd.Parameters.Add(
"@Version",
OleDbType.VarChar, 50,
"Version").Value =
"1.0";



Console.WriteLine(mySql);


cmd.Connection = oleDB;


cmd.CommandText = mySql;


cmd.ExecuteNonQuery();



if (oleDB.Provider ==
"MySQLProv")


{



// MySql


mySql =
"SELECT LAST_INSERT_ID() AS ID FROM [GP]";


}



else


{



// Access et


mySql =
"SELECT @@IDENTITY AS ID";


}


cmd =
new
OleDbCommand(mySql, oleDB);



Console.WriteLine(mySql);



// string t = cmd.ExecuteScalar().ToString();



DataSet ds =
new
DataSet();



OleDbDataAdapter OleDbData =
new
OleDbDataAdapter();


OleDbData.SelectCommand = cmd;


OleDbData.Fill(ds,
"NewFAQ");



object intFAQID = ds.Tables[
"NewFAQ"].Rows[0][
"ID"];



Console.WriteLine(intFAQID.ToString());


oleDB.Close();

1 réponse

Messages postés
3
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
16 mai 2008

Hello,

Je ne peu répondre pour MySQL, mais sous SQL ou Access, le type retourné en Identity est uniquement numérique.

Si tu veux récupérer un GUID, il te faut ajouter une colonne intéger auto-incrémental de type int et refaire un select sur cette base.

Exemple:

SELECT MyGUID as ID From [GP] Where intID = @@IDENTITY