internal/protocol/session.go
func (s *Session) Exec(id uint64, prmFieldSet *ParameterFieldSet, args []driver.NamedValue) (driver.Result, error) {
	s.mu.Lock()
	defer s.mu.Unlock()

	s.statementID.id = &id
	if err := s.writeRequest(mtExecute, !s.conn.inTx, s.statementID, newInputParameters(prmFieldSet.inputFields(), args)); err != nil {
		return nil, err
	}

	if err := s.readReply(nil); err != nil {
		return nil, err
	}

	var result driver.Result
	if s.sh.functionCode == fcDDL {
		result = driver.ResultNoRows
	} else {
		result = driver.RowsAffected(s.rowsAffected.total())
	}

	if err := s.writeLobStream(prmFieldSet, nil, args); err != nil {
		return nil, err
	}

	return result, nil
}
func (s *Session) Exec(id uint64, prmFieldSet *ParameterFieldSet, args []driver.NamedValue) (driver.Result, error) {
	s.mu.Lock()
	defer s.mu.Unlock()

	s.statementID.id = &id
	if err := s.writeRequest(mtExecute, !s.conn.inTx, s.statementID, newInputParameters(prmFieldSet.inputFields(), args)); err != nil {
		return nil, err
	}

	if err := s.readReply(nil); err != nil {
		return nil, err
	}

	var result driver.Result
	if s.sh.functionCode == fcDDL {
		result = driver.ResultNoRows
	} else {
		result = driver.RowsAffected(s.rowsAffected.total())
	}

	if err := s.writeLobStream(prmFieldSet, nil, args); err != nil {
		return nil, err
	}

	return result, nil
}
func ( s * Session ) Exec ( id uint64 , prmFieldSet * ParameterFieldSet , args [ ] driver . NamedValue ) ( driver . Result , error ) { s . mu . Lock ( ) defer s . mu . Unlock ( ) s . statementID . id = & id if err := s . writeRequest ( mtExecute , ! s . conn . inTx , s . statementID , newInputParameters ( prmFieldSet . inputFields ( ) , args ) ) ; err != nil { return nil , err } if err := s . readReply ( nil ) ; err != nil { return nil , err } var result driver . Result if s . sh . functionCode == fcDDL { result = driver . ResultNoRows } else { result = driver . RowsAffected ( s . rowsAffected . total ( ) ) } if err := s . writeLobStream ( prmFieldSet , nil , args ) ; err != nil { return nil , err } return result , nil }
// Exec executes a sql statement.
Exec executes a sql statement .