我正在Visual Studio中制作一个表单,该表单能够访问数据库,用db的表填充数据表,在datagridview中显示数据表,在屏幕上填充可编辑字段,然后将这些字段的值传递回数据库到它们各自的列。我的问题发生在最后一步,因为我的更新功能似乎无法正常工作。我已经搜索过了,但是我不确定自己要去哪里。
string query = "UPDATE Actors SET fname=@fName, lname=@lName, sex=@sex, age=@age, action=@action, comic=@comic, drama=@drama, ego=@ego, music=@music, starQual=@starQual, romance=@romance, sexApp=@sexApp, workEth=@workEth, popularity=@popularity WHERE Id=@Id";
SQLiteConnection myConnection = new SQLiteConnection("Data Source=data.db");
SQLiteCommand cmd = new SQLiteCommand(query, myConnection);
myConnection.Open();
cmd.Parameters.Add(new SQLiteParameter("@fname", enterfName.Text));
cmd.Parameters.Add(new SQLiteParameter("@lname", enterlName.Text));
cmd.Parameters.Add(new SQLiteParameter("@sex", enterSex.Text));
cmd.Parameters.Add(new SQLiteParameter("@age", Convert.ToInt32(enterAge.Value)));
cmd.Parameters.Add(new SQLiteParameter("@action", Convert.ToInt32(enterAction.Value)));
cmd.Parameters.Add(new SQLiteParameter("@comic", Convert.ToInt32(enterComic.Value)));
cmd.Parameters.Add(new SQLiteParameter("@drama", Convert.ToInt32(enterDrama.Value)));
cmd.Parameters.Add(new SQLiteParameter("@ego", Convert.ToInt32(enterEgo.Value)));
cmd.Parameters.Add(new SQLiteParameter("@music", Convert.ToInt32(enterMusic.Value)));
cmd.Parameters.Add(new SQLiteParameter("@starQual", Convert.ToInt32(enterStarQual.Value)));
cmd.Parameters.Add(new SQLiteParameter("@romance", Convert.ToInt32(enterRomance.Value)));
cmd.Parameters.Add(new SQLiteParameter("@sexApp", Convert.ToInt32(enterSexApp.Value)));
cmd.Parameters.Add(new SQLiteParameter("workEth", Convert.ToInt32(enterWorkEth.Value)));
cmd.Parameters.Add(new SQLiteParameter("@popularity", Convert.ToInt32(enterPopularity.Value)));
cmd.Parameters.Add(new SQLiteParameter("@Id", Convert.ToInt32(indexHold.Value)));
cmd.ExecuteNonQuery();
myConnection.Close();
//Update gridview with the changes
updateGridView();
答案 0 :(得分:0)
您忘记了参数@
cmd.Parameters.Add(new SQLiteParameter("@workEth",Convert.ToInt32(enterWorkEth.Value)));