Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : .NET » requêtes paramétrées asp.net » 19/05/2010 10:57:28
Bonjour,
désolé pour le retard de la réponse je reviens de vacances !
j'ai réussi finalement à le faire marcher en ajouter comme projet à la solution les sources de npgsql, la dll seule me sortait des erreurs... Donc pour l'instant tout marche bien et tout, seul bémol lors du déploiement ... le site est déployé suer un windows server 2003 avec framework 2.5 et malgré que je n'utilise pas les sources 3.5 au niveau des requêtes paramétrées il se passe un problème.
Je ne sais pas si tu as eu un cas semblable lors de ton déploiement avec npgsql ?
Merci !
#2 Re : .NET » requêtes paramétrées asp.net » 26/04/2010 10:22:49
Bonjour,
j'ai réussi à trouver le driver en question, il s'agit du psqlODBC, n'ayant pas réussi à trouver sa doc, je me suis décidé à utiliser npgsql, seulement voila ce lui ci bloque ici
public NpgsqlConnection GetConnection2()
{
NpgsqlConnection conn = null;
try
{
//ici il y a un problème, il ne trouve pas le fichier de la classe lors de l'éxecution
conn = new NpgsqlConnection();
conn.ConnectionString = "database=base;server=localhost;port=5432;uid=uid";
}
catch (NpgsqlException e)
{
conn = null;
}
return conn;
}
j'ai pourtant ajouté toutes les dll au projet ???
Merci !!!!
#3 Re : .NET » requêtes paramétrées asp.net » 22/04/2010 01:18:36
Bonjour !
voila en fait je ne sais pas quel driver est utilisé pour la connexion, car je n'ai pas le même que toi je pense?
Sais tu comment connaitre le driver qui est utilisé par hasard?
Sinon, pour le reste en effet il ya erreur sur les classes car les driver utilisent souvent leur propres classes pour se connecter !
Merci encore !!!
Bonne soirée!
#4 Re : .NET » requêtes paramétrées asp.net » 20/04/2010 22:15:40
bonjour,
je l'ai essayé et ca ne marche toujours pas...
je ne suis pas sûr d'avoir le bon driver, peux tu me fournir le tien, peut être que le problème vient de là?
Merci encore une fois !
#5 Re : .NET » requêtes paramétrées asp.net » 19/04/2010 21:21:24
bonjour,
merci beaucoup pour ta réponse !
En fait j'ai essayé ta solution
j'ai remplacé :
sqlCmd.CommandText = "INSERT INTO nomtable (log_in, pass_word) VALUES ('@log_in', '@pass_word')";
sqlCmd.Parameters.Add(new SqlParameter("@log_in", log_in));
sqlCmd.Parameters.Add(new SqlParameter("@pass_word", pass_word));
par
sqlCmd.CommandText = "INSERT INTO nomtable (log_in, pass_word) VALUES (':log_in', ':pass_word')";
sqlCmd.Parameters.Add(new SqlParameter(":log_in", log_in));
sqlCmd.Parameters.Add(new SqlParameter(":pass_word", pass_word));
mais sans succès ...
est ce bien cela qu'il fallait comprendre ?
#6 .NET » requêtes paramétrées asp.net » 18/04/2010 15:21:43
- oldBoy
- Réponses : 10
bonjour,
je suis actuellement en train de développer un site web en Asp.net, framework 3.5 et postgres 1.8.4.
La connexion avec postgres se fait très bien au travers d'un driver récupéré sur le site de postgres.
le problème est que lorsque j'essaie de passer des requêtes paramétrées celles ci ne passent pas.
int retour = -1;
DbTransaction trans = null;
try
{
// Ouverture Connexion
CremecFactory myCremec = new CremecFactory();
_myConnect = (DbConnection)myCremec.GetConnection();
_myConnect.Open();
trans = _myConnect.BeginTransaction();
// Construction de la requete
DbCommand sqlCmd = _myConnect.CreateCommand();
sqlCmd.CommandType = CommandType.Text;
sqlCmd.CommandText = "INSERT INTO nomtable (log_in, pass_word) VALUES ('@log_in', '@pass_word')";
sqlCmd.Parameters.Add(new SqlParameter("@log_in", log_in));
sqlCmd.Parameters.Add(new SqlParameter("@pass_word", pass_word));
// Association cmd/transaction
sqlCmd.Transaction = trans;
sqlCmd.ExecuteNonQuery();
// Retour ID ajouté
DbCommand sqlCmdRet = _myConnect.CreateCommand();
sqlCmdRet.CommandType = CommandType.Text;
sqlCmdRet.CommandText = "select currval('nomtable_seq')";
sqlCmdRet.Transaction = trans;
Int64 res = (Int64)sqlCmdRet.ExecuteScalar();
retour = (int)res ;
trans.Commit();
}
catch (Exception err)
{
if (trans != null)
{
retour = -2;
trans.Rollback();
Trace.Write(err.Source);
}
}
finally
{
try
{
_myConnect.Close();
}
catch (Exception err)
{
}
}
return retour;
le même code en remplaçant
sqlCmd.CommandText = "INSERT INTO nomtable (log_in, pass_word) VALUES ('@log_in', '@pass_word')";
sqlCmd.Parameters.Add(new SqlParameter("@log_in", log_in));
sqlCmd.Parameters.Add(new SqlParameter("@pass_word", pass_word));
par
sqlCmd.CommandText = "INSERT INTO nomtable (log_in, pass_word) VALUES ('" + log_in + "', '" + pass_word + "')";
marche sans souci mais il est sujet au injections SQL.
au fait le provider est : System.Data.Odbc
voilà en espérant avoir été clair et que les infos données vous permettront de cerner le problème.
Merci d'avance !
Pages : 1