I wanted to create a temporary table as per my variable.
If i have a value of 10, it will create a table with 10 rows.
How should i start my code in MapBasic?
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
Assuming that you don't have the table yet, you need to start by creating the table itself.
This is done using a MapBasic/basic SQL DDL statement:
Create Table MY_TABLE (ID Integer) File TempFileName$("")
If you also need to store spatial data in your table, you need to make it mappable, too. When you make it mappable you create the MAP and ID files that MapInfo Pro uses for storing the spatial records. Once the table has been made mappable, you can refer to the spatial part of each record using the OBJ column name.
Often you will refer to an existing table or the current map window for a coordinate system but you can also specify a specific hard coded coordinate system.
Here an example on how to refer to an existing open table:
Create Map For MY_TABLE CoordSys Table SOME_OTHER_TABLE
or a map window
'**Here assuming that the front most window is a map Create Map For MY_TABLE CoordSys Window FrontWindow()
or here using a specific coordinate system (EPSG:4326):
Create Map For MY_TABLE CoordSys Earth Projection 1, 104
Now you are ready to insert your values.
If you have an Integer values holding the number of records to create, you can loop over this and insert as many records as needed.
In this example the variable nTheNumberOfRecordsToInsert tells me how many records to insert and i is your loop variable, both should be dim'ed as Integers.
For i = 1 To nTheNumberOfRecordsToInsert '**Inserting a record, here the current value of i (1, 2, 3, ...) Insert Into MY_TABLE (ID) Values (i) Next '**Now let's commit the changes to the table Commit Table MY_TABLE