ExecuteSQLInsert: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| m (AddRegistryQuery moved to ExecuteSQLInsert) | No edit summary | ||
| Line 1: | Line 1: | ||
| __NOTOC__   | __NOTOC__   | ||
| This function adds a row in the  | This function adds a row in the database. | ||
| 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]INSERT INTO <table> VALUES <values></syntaxhighlight> | ||
| ==Syntax==   | ==Syntax==   | ||
| <syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
| bool  | bool executeSQLInsert ( string table, string values ) | ||
| </syntaxhighlight>   | </syntaxhighlight>   | ||
| ===Required Arguments===   | ===Required Arguments===   | ||
| *'''table:''' The table you want to modify. | *'''table:''' The name of the table you want to modify. | ||
| *'''values:''' The values that need to be inserted for each field in the table. The default SQL syntax is used, which means that the = is used to set a value, the ' is used to indicate a value and the , is used as a delimiter for multiple values (e.g. ''field1 = 'testA', field2 = 'testB' as values). Field names are optional. If you don't use field names, the table's order of fields is used (e.g. ''testA,testB'' as values). | *'''values:''' The values that need to be inserted for each field in the table. The default SQL syntax is used, which means that the = is used to set a value, the ' is used to indicate a value and the , is used as a delimiter for multiple values (e.g. ''field1 = 'testA', field2 = 'testB' as values). Field names are optional. If you don't use field names, the table's order of fields is used (e.g. ''testA,testB'' as values). | ||
| ===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:33, 23 September 2006
This function adds a row in the database.
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]INSERT INTO <table> VALUES <values>
Syntax
bool executeSQLInsert ( string table, string values )
Required Arguments
- table: The name of the table you want to modify.
- values: The values that need to be inserted for each field in the table. The default SQL syntax is used, which means that the = is used to set a value, the ' is used to indicate a value and the , is used as a delimiter for multiple values (e.g. field1 = 'testA', field2 = 'testB' as values). Field names are optional. If you don't use field names, the table's order of fields is used (e.g. testA,testB as values).
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