ExecuteSQLUpdate: Difference between revisions
Jump to navigation
Jump to search
m (SetRegistryQuery moved to ExecuteSQLUpdate) |
No edit summary |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This function updates one or more rows in the database. | |||
This function sets one or more rows in the registry. Since the registry is powered by a SQLite database, this function automatically executes an ''UPDATE'' query with the appropriate parameters. | This function sets one or more rows in the registry. Since the registry is powered by a SQLite database, this function automatically executes an ''UPDATE'' query with the appropriate parameters. | ||
The | The SQLite database contains globally stored data and can be used by scripts to store and retrieve data in a structured manner. | ||
The | The executed SQL query is the following: | ||
< | <syntaxhighlight lang="lua">[sql]UPDATE <table> SET <set> WHERE <conditions></syntaxhighlight> | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool | bool executeSQLUpdate ( string table, string set, [ string conditions ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''table:''' The table you want to modify. | *'''table:''' The name of the table you want to modify. | ||
*'''set:''' The query you want to execute on that table. The default SQL syntax is used, which means that the = is used to set a value and the ' is used to specify a value (e.g. ''test = 'hi' ''). The , is used as a delimiter for multiple queries. | *'''set:''' The query you want to execute on that table. The default SQL syntax is used, which means that the = is used to set a value and the ' is used to specify a value (e.g. ''test = 'hi' ''). The , is used as a delimiter for multiple queries. | ||
Line 22: | Line 23: | ||
===Returns=== | ===Returns=== | ||
The function returns a ''boolean'' which is ''true'' on success, and ''false'' on failure. | The function returns a ''boolean'' which is ''true'' on success, and ''false'' on failure. | ||
==Example== | |||
<syntaxhighlight lang="lua"> | |||
function onMapLoad () | |||
-- create our table, if it doesn't already exist | |||
executeSQLCreateTable ( "players", "clothes_head_texture TEXT, clothes_head_model TEXT, player TEXT" ) | |||
end | |||
function onPlayerSpawn ( spawnpoint, team ) | |||
sourcename = getClientName ( source ) -- get the player's name | |||
-- try to retrieve the player data from the db | |||
result = executeSQLSelect ( "players", "player", "player = '" .. sourcename .. "'" ) | |||
if ( result == false ) then -- see if any data was found at all | |||
outputChatBox ( "This is your first time here! Welcome " .. sourcename .. "!", source ) | |||
executeSQLInsert ( "players", "'none', 'none', '" .. sourcename .. "'" ) | |||
else | |||
outputChatBox ( "Welcome back " .. sourcename .. "!", source ) | |||
executeSQLUpdate ( "players", "clothes_head_texture = 'hairgreen', clothes_head_model = 'somehead'", | |||
"player = '" .. sourcename .. "'" ) | |||
end | |||
-- get the clothes data for the player | |||
result = executeSQLSelect ( "players", "clothes_head_texture, clothes_head_model", "player = '" .. sourcename .. "'" ) | |||
outputChatBox ( "Your head texture is " .. result[1][1] ) | |||
outputChatBox ( "Your head model is " .. result[1][2] ) | |||
end | |||
</syntaxhighlight> | |||
==See Also== | ==See Also== | ||
{{Registry_functions}} | {{Registry_functions}} |
Revision as of 15:27, 23 September 2006
This function updates one or more rows in the database. This function sets one or more rows in the registry. Since the registry is powered by a SQLite database, this function automatically executes an UPDATE query with the appropriate parameters.
The SQLite database contains globally stored data and can be used by scripts to store and retrieve data in a structured manner.
The executed SQL query is the following:
[sql]UPDATE <table> SET <set> WHERE <conditions>
Syntax
bool executeSQLUpdate ( string table, string set, [ string conditions ] )
Required Arguments
- table: The name of the table you want to modify.
- set: The query you want to execute on that table. The default SQL syntax is used, which means that the = is used to set a value and the ' is used to specify a value (e.g. test = 'hi' ). The , is used as a delimiter for multiple queries.
Optional Arguments
- conditions: The conditions that need to be met before a specific row is changed.
Returns
The function returns a boolean which is true on success, and false on failure.
Example
function onMapLoad () -- create our table, if it doesn't already exist executeSQLCreateTable ( "players", "clothes_head_texture TEXT, clothes_head_model TEXT, player TEXT" ) end function onPlayerSpawn ( spawnpoint, team ) sourcename = getClientName ( source ) -- get the player's name -- try to retrieve the player data from the db result = executeSQLSelect ( "players", "player", "player = '" .. sourcename .. "'" ) if ( result == false ) then -- see if any data was found at all outputChatBox ( "This is your first time here! Welcome " .. sourcename .. "!", source ) executeSQLInsert ( "players", "'none', 'none', '" .. sourcename .. "'" ) else outputChatBox ( "Welcome back " .. sourcename .. "!", source ) executeSQLUpdate ( "players", "clothes_head_texture = 'hairgreen', clothes_head_model = 'somehead'", "player = '" .. sourcename .. "'" ) end -- get the clothes data for the player result = executeSQLSelect ( "players", "clothes_head_texture, clothes_head_model", "player = '" .. sourcename .. "'" ) outputChatBox ( "Your head texture is " .. result[1][1] ) outputChatBox ( "Your head model is " .. result[1][2] ) end
See Also