ExecuteSQLUpdate: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
ThePiotrek (talk | contribs) mNo edit summary |
||
(7 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Server function}} | |||
This function | {{Deprecated|executeSQLQuery|See the examples at executeSQLQuery for equivalent UPDATE usage.}} | ||
This function updates one or more rows in the database, by using the set parameter and conditions to change field values in specific rows. | |||
The SQLite database contains globally stored data and can be used by scripts to store and retrieve data in a structured manner. | The SQLite database contains globally stored data and can be used by scripts to store and retrieve data in a structured manner. | ||
Line 7: | Line 9: | ||
The executed SQL query is the following: | The executed SQL query is the following: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua">UPDATE <table> SET <set> WHERE <conditions></syntaxhighlight> | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool executeSQLUpdate ( string | bool executeSQLUpdate ( string tableName, string set, [ string conditions ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*''' | *'''tableName:''' 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 24: | ||
===Returns=== | ===Returns=== | ||
The function returns | The function returns ''true'' on success, and ''false'' on failure. | ||
==Example== | ==Example== | ||
This example creates a SQL table when a map loads, and stores info about a player to that database when he spawns. | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function onMapLoad () | function onMapLoad () | ||
Line 31: | Line 34: | ||
executeSQLCreateTable ( "players", "clothes_head_texture TEXT, clothes_head_model TEXT, player TEXT" ) | executeSQLCreateTable ( "players", "clothes_head_texture TEXT, clothes_head_model TEXT, player TEXT" ) | ||
end | end | ||
addEventHandler ( "onGamemodeMapStart", getRootElement(), onMapLoad ) | |||
function | function addInfoToSQL( theSpawnpoint, theTeam ) | ||
sourcename = | sourcename = getPlayerName ( source ) -- get the player's name | ||
-- try to retrieve the player data from the db | -- try to retrieve the player data from the db | ||
Line 47: | Line 51: | ||
-- get the clothes data for the player | -- 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 texture is " .. result[1][1] ) | ||
outputChatBox ( "Your head model is " .. result[1][2] ) | outputChatBox ( "Your head model is " .. result[1][2] ) | ||
end | end | ||
addEventHandler ( "onPlayerSpawn", getRootElement(), addInfoToSQL ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Registry_functions}} | {{Registry_functions}} |
Latest revision as of 14:19, 9 October 2016
This function is deprecated. This means that its use is discouraged and that it might not exist in future versions. | |
Please use executeSQLQuery instead. See the examples at executeSQLQuery for equivalent UPDATE usage. |
This function updates one or more rows in the database, by using the set parameter and conditions to change field values in specific rows.
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:
UPDATE <table> SET <set> WHERE <conditions>
Syntax
bool executeSQLUpdate ( string tableName, string set, [ string conditions ] )
Required Arguments
- tableName: 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 true on success, and false on failure.
Example
This example creates a SQL table when a map loads, and stores info about a player to that database when he spawns.
function onMapLoad () -- create our table, if it doesn't already exist executeSQLCreateTable ( "players", "clothes_head_texture TEXT, clothes_head_model TEXT, player TEXT" ) end addEventHandler ( "onGamemodeMapStart", getRootElement(), onMapLoad ) function addInfoToSQL( theSpawnpoint, theTeam ) sourcename = getPlayerName ( 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 addEventHandler ( "onPlayerSpawn", getRootElement(), addInfoToSQL )
See Also