Bonjour,
Je cherche a ameliorer mes requetes, car realise actuellement dans mon programme les deux requetes suivantes :
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
MyAccessCommand.Connection = MyAccessConn;
MyAccessCommand.Transaction = transaction;
SQLquery = "SELECT MAX(idCoordinates) FROM Coordinate;";
MyAccessCommand.CommandText = SQLquery;
// For a SELECT, use ExecuteReader so as get a datareader
OleDbDataReader reader = MyAccessCommand.ExecuteReader();
if (reader != null)
{
while (reader.Read())
{
last_insert_id = reader[0].ToString();
}
reader.Close();
} |
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
MyAccessCommand.Connection = MyAccessConn;
MyAccessCommand.Transaction = transaction;
SQLquery = "INSERT INTO Customers (nameCustomers, isSchoolCustomers, noteCustomers, idCoordinates) VALUES " +
"( @name, @isSchool, @notes, @last_insert_id );";
#region Parameters
MyAccessCommand.Parameters.Clear();
MyAccessCommand.Parameters.Add("@name", OleDbType.VarChar, 50).Value = name;
MyAccessCommand.Parameters.Add("@isSchool", OleDbType.Boolean).Value = isSchool;
MyAccessCommand.Parameters.Add("@notes", OleDbType.VarChar).Value = notes;
if (last_insert_id != null && last_insert_id != "")
{
MyAccessCommand.Parameters.Add("@last_insert_id", OleDbType.SmallInt).Value = Int16.Parse(last_insert_id);
}
else
{
MyAccessCommand.Parameters.Add("@last_insert_id", OleDbType.SmallInt);
MyAccessCommand.Parameters["@last_insert_id"].Value = DBNull.Value;
}
#endregion
MyAccessCommand.CommandText = SQLquery;
MyAccessCommand.ExecuteNonQuery(); |
Est-il possible de faire de la premiere requete une sous-requete dans la seconde, car j'ai l'impression que ça ralenti beaucoup les choses sous la forme de deux requetes. J'ai essayer de plusieurs manieres differentes mais Access me refuse toutes mes tentatives.
Je vous remercie,