c# - Save values from select query then use them in update query SQL Server CE -
i have winforms application sql server ce 3.5 database. want update query , need select query.
here's wrote:
string command1 = "select column1, column2, column3 table1"; string command2 = "update table2 set column2 = @var2, column3 = @var3 column1 = @var1"; using (sqlcecommand cmd1=new sqlcecommand(command1, connection)) { sqlcedatareader reader; reader = cmd1.executereader(); while (reader.read()) { int var1 = (int)reader[0]; int var2 = (int)reader[1]; string var3 = (string)reader[2]; sqlcecommand cmd2= new sqlcecommand (command2, connection); cmd2.executereader(); } } i error
a parameter missing. parameter ordinal=3
you have three parameters in second command (command2) - never define parameters, nor set values them use!
try code:
string command1 = "select column1, column2, column3 table1"; string command2 = "update table2 set column2 = @var2, column3 = @var3 column1 = @var1"; using (sqlcecommand cmd1 = new sqlcecommand(command1, connection)) { // define "cmd2" here, once, before loop sqlcecommand cmd2 = new sqlcecommand (command2, connection); // define parameters cmd2.parameters.add("@var1", sqldbtype.int); cmd2.parameters.add("@var2", sqldbtype.int); cmd2.parameters.add("@var3", sqldbtype.varchar, 100); sqlcedatareader reader = cmd1.executereader(); while (reader.read()) { int var1 = (int)reader[0]; int var2 = (int)reader[1]; string var3 = (string)reader[2]; // set *values* of parameters cmd2.parameters["@var1"].value = var1; cmd2.parameters["@var2"].value = var2; cmd2.parameters["@var3"].value = var3; cmd2.executenonquery(); } }
Comments
Post a Comment