Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. SQL Update Statement, OleDbDataAdapter, and ms access 2007

SQL Update Statement, OleDbDataAdapter, and ms access 2007

Scheduled Pinned Locked Moved Database
databasevisual-studiohelpquestionannouncement
2 Posts 2 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    VonHagNDaz
    wrote on last edited by
    #1

    Hi guys, I'm trying to understand an Update query generated from vs2010. I'm new to sql and all of the msdn answers are hard-coded, and I need some help to do this with variable data. I've figured out my insert statement

    DataSet dataChanges = new UserData();
    dataChanges.DataSetName = "dataChanges";

                dataChanges = this.\_userDataSet.GetChanges(DataRowState.Modified | DataRowState.Added | DataRowState.Deleted);
    
                this.\_dbConnection.ConnectionString = this.\_connectionString;
                this.\_dbConnection.Open();
    
                //insert new rows
                OleDbCommand command = new OleDbCommand("INSERT INTO tblUsers(ID\_NAME, ID\_PASSWORD, ID\_RIGHTS, ID\_JOBS)VALUES(?, ?, ?, ?)", this.\_dbConnection);
                command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_NAMEColumn.ColumnName,
                                        OleDbType.VarChar,
                                        this.\_userDataSet.tblUsers.ID\_NAMEColumn.MaxLength, 
                                        "ID\_NAME");
    
                command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_PASSWORDColumn.ColumnName,
                                        OleDbType.VarChar,
                                        this.\_userDataSet.tblUsers.ID\_PASSWORDColumn.MaxLength,
                                        "ID\_PASSWORD");
    
                command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_RIGHTSColumn.ColumnName,
                                        OleDbType.Integer,
                                        this.\_userDataSet.tblUsers.ID\_RIGHTSColumn.MaxLength, 
                                        "ID\_RIGHTS");
    
                command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_JOBSColumn.ColumnName,
                                        OleDbType.Integer,
                                        this.\_userDataSet.tblUsers.ID\_JOBSColumn.MaxLength,
                                        "ID\_JOBS");
                this.\_dbAdapter.InsertCommand = command;
    

    _userDataSet is a typed dataset. The vs generated UPDATE query looks like this:

    //update rows;
    command = new OleDbCommand("UPDATE tblUsers SET ID_NAME = ?, ID_PASSWORD = ?," +
    "ID_RIGHTS = ?, ID_JOBS = ? WHERE ((ID_NAME = ?) AND" +
    "((? = 1 AND ID_PASSWORD IS NULL) OR (ID_PASSWORD = ?))" +
    "AND ((? = 1 AND ID_RIGHTS

    M 1 Reply Last reply
    0
    • V VonHagNDaz

      Hi guys, I'm trying to understand an Update query generated from vs2010. I'm new to sql and all of the msdn answers are hard-coded, and I need some help to do this with variable data. I've figured out my insert statement

      DataSet dataChanges = new UserData();
      dataChanges.DataSetName = "dataChanges";

                  dataChanges = this.\_userDataSet.GetChanges(DataRowState.Modified | DataRowState.Added | DataRowState.Deleted);
      
                  this.\_dbConnection.ConnectionString = this.\_connectionString;
                  this.\_dbConnection.Open();
      
                  //insert new rows
                  OleDbCommand command = new OleDbCommand("INSERT INTO tblUsers(ID\_NAME, ID\_PASSWORD, ID\_RIGHTS, ID\_JOBS)VALUES(?, ?, ?, ?)", this.\_dbConnection);
                  command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_NAMEColumn.ColumnName,
                                          OleDbType.VarChar,
                                          this.\_userDataSet.tblUsers.ID\_NAMEColumn.MaxLength, 
                                          "ID\_NAME");
      
                  command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_PASSWORDColumn.ColumnName,
                                          OleDbType.VarChar,
                                          this.\_userDataSet.tblUsers.ID\_PASSWORDColumn.MaxLength,
                                          "ID\_PASSWORD");
      
                  command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_RIGHTSColumn.ColumnName,
                                          OleDbType.Integer,
                                          this.\_userDataSet.tblUsers.ID\_RIGHTSColumn.MaxLength, 
                                          "ID\_RIGHTS");
      
                  command.Parameters.Add(this.\_userDataSet.tblUsers.ID\_JOBSColumn.ColumnName,
                                          OleDbType.Integer,
                                          this.\_userDataSet.tblUsers.ID\_JOBSColumn.MaxLength,
                                          "ID\_JOBS");
                  this.\_dbAdapter.InsertCommand = command;
      

      _userDataSet is a typed dataset. The vs generated UPDATE query looks like this:

      //update rows;
      command = new OleDbCommand("UPDATE tblUsers SET ID_NAME = ?, ID_PASSWORD = ?," +
      "ID_RIGHTS = ?, ID_JOBS = ? WHERE ((ID_NAME = ?) AND" +
      "((? = 1 AND ID_PASSWORD IS NULL) OR (ID_PASSWORD = ?))" +
      "AND ((? = 1 AND ID_RIGHTS

      M Offline
      M Offline
      Matt U
      wrote on last edited by
      #2

      In order to fill in the parameters you would use the same type of code from the INSERT statement generation: command.Parameters.Add(this._userDataSet.tblUsers.ID_NAMEColumn.ColumnName, OleDbType.VarChar, this._userDataSet.tblUsers.ID_NAMEColumn.MaxLength, "ID_NAME"); command.Parameters.Add(this._userDataSet.tblUsers.ID_PASSWORDColumn.ColumnName, OleDbType.VarChar, this._userDataSet.tblUsers.ID_PASSWORDColumn.MaxLength, "ID_PASSWORD"); // Etc., etc. You would change the OleDbType to the appropriate type for the parameter. And you change the last parameter to the name of the field. Does that make sense? Hopefully this helps. I answered based on what I could gather from your questions.

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups