Passing multiple parameters to update query in C#
-
I have tried with the following parameterised query for select statement and is working fine. SqlCeConnection conn; SqlCeCommand comm; comm = new SqlCeCommand(); comm.Connection = conn; comm.CommandText = "select * from signuptbl where username =@uname"; SqlCeParameter para = new SqlCeParameter(); para.ParameterName = "@uname"; para.Value = textBox1 .Text ; comm.Parameters.Add(para); Now i want to write an update query which takes multiple parameters. I have thought of the following code. SqlCeConnection conn; SqlCeCommand comm; comm = new SqlCeCommand(); comm.Connection = conn; comm.CommandText = "update signuptbl set firstname=@fname,lastname=@lname,,psw=@psw1 where username =@uname"; SqlCeParameter para = new SqlCeParameter(); para.ParameterName = "@uname"; para.Value = textBox1 .Text ; comm.Parameters.Add(para); para.ParameterName = "@psw"; para.Value = textBox2 .Text ; comm.Parameters.Add(para); para.ParameterName = "@fname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para); para.ParameterName = "@lname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para); I have tried this code but the row was not updated. Is this a proper way? How to pass multiple parameters in a query? Can i get a sample code for the same. Thanks in advance.. :)
-
I have tried with the following parameterised query for select statement and is working fine. SqlCeConnection conn; SqlCeCommand comm; comm = new SqlCeCommand(); comm.Connection = conn; comm.CommandText = "select * from signuptbl where username =@uname"; SqlCeParameter para = new SqlCeParameter(); para.ParameterName = "@uname"; para.Value = textBox1 .Text ; comm.Parameters.Add(para); Now i want to write an update query which takes multiple parameters. I have thought of the following code. SqlCeConnection conn; SqlCeCommand comm; comm = new SqlCeCommand(); comm.Connection = conn; comm.CommandText = "update signuptbl set firstname=@fname,lastname=@lname,,psw=@psw1 where username =@uname"; SqlCeParameter para = new SqlCeParameter(); para.ParameterName = "@uname"; para.Value = textBox1 .Text ; comm.Parameters.Add(para); para.ParameterName = "@psw"; para.Value = textBox2 .Text ; comm.Parameters.Add(para); para.ParameterName = "@fname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para); para.ParameterName = "@lname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para); I have tried this code but the row was not updated. Is this a proper way? How to pass multiple parameters in a query? Can i get a sample code for the same. Thanks in advance.. :)
Deepali Khalkar wrote:
SqlCeParameter para = new SqlCeParameter(); para.ParameterName = "@uname"; para.Value = textBox1 .Text ; comm.Parameters.Add(para); para.ParameterName = "@psw"; para.Value = textBox2 .Text ; comm.Parameters.Add(para); para.ParameterName = "@fname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para); para.ParameterName = "@lname"; para.Value = textBox3 .Text ; comm.Parameters.Add(para);
you declare single variable for parameter
para
and change the name and value multiple time. Instead of this, use multiple variable for parameter. use following codeSqlCeParameter para1 = new SqlCeParameter(); para1.ParameterName = "@uname"; para1.Value = textBox1 .Text ; comm.Parameters.Add(para1); SqlCeParameter para2 = new SqlCeParameter(); para2.ParameterName = "@psw"; para2.Value = textBox2 .Text ; comm.Parameters.Add(para2); SqlCeParameter para3 = new SqlCeParameter(); para3.ParameterName = "@fname"; para3.Value = textBox3 .Text ; comm.Parameters.Add(para3); SqlCeParameter para4 = new SqlCeParameter(); para4.ParameterName = "@lname"; para4.Value = textBox3 .Text ; comm.Parameters.Add(para4);
also specify the type of parameter hope this helpsRupesh Kumar Swami Software Developer, Integrated Solution, Bikaner (India) My Company Award: Best VB.NET article of June 2008: Create Column Charts Using OWC11