problem to retrieve an info in a sql request / problème pour recéper une info dans une requête sql
-
Ok. Suppose we do this:
List myList = new List();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
foreach (string s in myList)
{
Console.WriteLine(s);
}You would expect it do print five lines, and indeed it will:
One
Two
Three
Four
FiveBut what if I do this:
List myList = new List();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
myList = new List();
foreach (string s in myList)
{
Console.WriteLine(s);
}How many lines of print do you expect to get now? (Run the code if you have to, I don't mind.)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
-
Ok. Suppose we do this:
List myList = new List();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
foreach (string s in myList)
{
Console.WriteLine(s);
}You would expect it do print five lines, and indeed it will:
One
Two
Three
Four
FiveBut what if I do this:
List myList = new List();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
myList = new List();
foreach (string s in myList)
{
Console.WriteLine(s);
}How many lines of print do you expect to get now? (Run the code if you have to, I don't mind.)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
-
you are right sir I doubted but after having compiled I realized that the variable s is empty.
Yes - and that's because the
new
keyword creates a new, empty instance of the List and throws away the old one when it is assigned to the variable. And your code does exactly the same thing:...
sql_cmd.Parameters.AddWithValue("@Prix_total_HT", total);
sql_cmd = new OleDbCommand(txtQuery, sql_con);
sql_cmd.ExecuteNonQuery();You load up the parameters into an OleDbCommand instance, and then throw it all away to create a new, empty instance and store it in the same variable. To be honest, if you are "just a beginner who learns through some tutorials" then you are doing it all wrong, particularly if these are YouTube tutorials - I've yet to see one that is of any real use whatsoever. Instead, look for a good book on the subject - Apress, Wrox, Addison Wesley, Microsoft Press - they all do excellent beginner volumes though I don't know if any of them are available in French. If you can, look for a copy of "Pro C# 8.0" (APress, I believe), or "C# in a nutshell" (O'Reilly?) - I learnt from those one many, many years ago when .NET was at V2! Books introduce the material in a structured way, building on what has been taught before - and aren't written just to get views and subscribers...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
-
Yes - and that's because the
new
keyword creates a new, empty instance of the List and throws away the old one when it is assigned to the variable. And your code does exactly the same thing:...
sql_cmd.Parameters.AddWithValue("@Prix_total_HT", total);
sql_cmd = new OleDbCommand(txtQuery, sql_con);
sql_cmd.ExecuteNonQuery();You load up the parameters into an OleDbCommand instance, and then throw it all away to create a new, empty instance and store it in the same variable. To be honest, if you are "just a beginner who learns through some tutorials" then you are doing it all wrong, particularly if these are YouTube tutorials - I've yet to see one that is of any real use whatsoever. Instead, look for a good book on the subject - Apress, Wrox, Addison Wesley, Microsoft Press - they all do excellent beginner volumes though I don't know if any of them are available in French. If you can, look for a copy of "Pro C# 8.0" (APress, I believe), or "C# in a nutshell" (O'Reilly?) - I learnt from those one many, many years ago when .NET was at V2! Books introduce the material in a structured way, building on what has been taught before - and aren't written just to get views and subscribers...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
really thank you for your advice i will inquire to see if the book is available in french. I did a bit of programming at school but not the csharp, and since it is a langauge that I am passionate about, I decided to take it easy but I really want to know the role of each method used. And for its I thank you again because I followed your advice. But with your permission I would like to send you some project that I have realized thanks to courses on Csharp to just give me your opinion on the presentation of my codes and if there is an improvement to be made.
-
really thank you for your advice i will inquire to see if the book is available in french. I did a bit of programming at school but not the csharp, and since it is a langauge that I am passionate about, I decided to take it easy but I really want to know the role of each method used. And for its I thank you again because I followed your advice. But with your permission I would like to send you some project that I have realized thanks to courses on Csharp to just give me your opinion on the presentation of my codes and if there is an improvement to be made.
Don't send it, I won't look at it. I don't have time to be a mentor to anyone - and I get a couple of request for it a month, and certainly couldn't do it for everyone who asks: so I don't do it at all to be as fair as I can to everybody.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
-
Don't send it, I won't look at it. I don't have time to be a mentor to anyone - and I get a couple of request for it a month, and certainly couldn't do it for everyone who asks: so I don't do it at all to be as fair as I can to everybody.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony AntiTwitter: @DalekDave is now a follower!
-
hello sir all my apologies for the delay ... i was putting my code clean as you advised me. I have an error like microsoft jet engine
try
{
setConnection();
sql_con.Open();
using (sql_cmd = sql_con.CreateCommand())
{
string txtQuery = "INSERT INTO Detail_temp (ref_det, qute_det, Designation, Prix_unitaire_HT, Prix_total_HT) VALUES (@ref_det,@qute_det,@Designation,@Prix_unitaire_HT,@Prix_total_HT)";
sql_cmd.Parameters.AddWithValue("@ref_det", TxtRefProduit.Text);
sql_cmd.Parameters.AddWithValue("@qute_det", TxtQteCmd.Text);
sql_cmd.Parameters.AddWithValue("@Designation", TxtDesignation.Text);
sql_cmd.Parameters.AddWithValue("@Prix_unitaire_HT", TxtPrixUnitaire.Text);
sql_cmd.Parameters.AddWithValue("@Prix_total_HT", total);
sql_cmd = new OleDbCommand(txtQuery, sql_con);
sql_cmd.ExecuteNonQuery();
//ExecuteQuery(txtQuery);
}
}
catch(OleDbException ex)
{
MessageBox.Show(ex.Source);
}Hi, please stop doing
catch(OleDbException ex)
{
MessageBox.Show(ex.Source);
}instead do
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}It will (1) be able to catch more problems, and (2) will provide much more information when something goes wrong (including the exact line number when running in Visual Studio); you may not understand all of its output right away, but that typically is the info one needs to easily pinpoint what went wrong. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
-
Hi, please stop doing
catch(OleDbException ex)
{
MessageBox.Show(ex.Source);
}instead do
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}It will (1) be able to catch more problems, and (2) will provide much more information when something goes wrong (including the exact line number when running in Visual Studio); you may not understand all of its output right away, but that typically is the info one needs to easily pinpoint what went wrong. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
-
Hello sir and thank you for the info, I think I saw it when I was doing my research. And it was written only to see the problems with connection to the database. So I would like to know if we could use it only at the connection of the database or not?
All exceptions derive from the Exception class, so catching Exception will catch "everything". Whatever your code is about, it is most often wise to put it inside a try-catch block that catches and displays all information about all exceptions. And when your code misbehaves and you don't yet have a try-catch, adding one is the first thing you should do. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
-
All exceptions derive from the Exception class, so catching Exception will catch "everything". Whatever your code is about, it is most often wise to put it inside a try-catch block that catches and displays all information about all exceptions. And when your code misbehaves and you don't yet have a try-catch, adding one is the first thing you should do. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum