0

我进行了一个查询,从数据库中保存调用 max id 并将其保存在数据网格视图中,并且可以正常工作,但我无法对其进行更新查询,因为我想更新数据网格视图行中的值但想要保留它maxid 但不能以正确的方式在查询中写入 maxid 请帮助我为此编写更新

这是我的保存查询:

      string sqlTemplate = "INSERT INTO molaak_det(MAXID,MALKID,AKARTYPE,AKARADDRESS) VALUES ({0}, '{1}', '{2}', '{3}')";
        string sqlSubquery = "(SELECT COALESCE(max(MAXID)+1, 1) FROM molaak_det)";
        System.Diagnostics.Debug.AutoFlush = true;
        SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
        CN.Open();
        for (int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            string Query = String.Format(sqlTemplate,
                  sqlSubquery,
                  this.txtID.Text,
                  this.dataGridView1.Rows[i].Cells[0].Value,
                  this.dataGridView1.Rows[i].Cells[1].Value);

            System.Diagnostics.Debug.WriteLine(Query);

            SqlCommand cmd = new SqlCommand(Query, CN);
            cmd.ExecuteNonQuery();
        }
        CN.Close();

这是我尝试进行更新查询“这更新具有相同值的所有行只需要更新已编辑的行”:

        for (int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            mysql.sa.UpdateCommand.CommandText = string.Format(" UPDATE molaak_det SET  AKARTYPE='{1}',AKARADDRESS='{2}' where MALKID='{0}'", txtID.Text, this.dataGridView1.Rows[i].Cells[0].Value, this.dataGridView1.Rows[i].Cells[1].Value);
            mysql.sa.UpdateCommand.ExecuteNonQuery();

}

4

0 回答 0