Hi all
I have seem some posts about adding new columns to an existing table, so, I have modified create table to allow this.
Hope this is useful to anyone who has wanted to do this.
Regards
John.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			I have seem some posts about adding new columns to an existing table, so, I have modified create table to allow this.
Hope this is useful to anyone who has wanted to do this.
Regards
John.
			
				B4X:
			
		
		
		Sub CreateTable(SQL As SQL, TableName As String, FieldsAndTypes As Map, PrimaryKey As String)
   
   Dim pk As String, startMap As Int
   ' // create the table
   If Not(TableExist(SQL,TableName)) Then
     ' // start map at 1
     startMap = 1
     ' // set primary key
     If FieldsAndTypes.GetKeyAt(0) = PrimaryKey Then
       pk = " PRIMARY KEY"
     End If
     ' // create table and first col
     SQL.ExecNonQuery("CREATE TABLE [" & TableName & "] (" & _
           FieldsAndTypes.GetKeyAt(0) & " " & _
           FieldsAndTypes.GetValueAt(0)& pk & ")")
   End If
   
   ' // add rest of cols to table
   For i = startMap To FieldsAndTypes.Size - 1
     
     Dim field, ftype As String
     
     field = FieldsAndTypes.GetKeyAt(i)
     ftype = FieldsAndTypes.GetValueAt(i)
     pk = ""
     If field = PrimaryKey Then
       pk = " PRIMARY KEY"
     End If
     ' // add the colum     
     Try
       SQL.ExecNonQuery("ALTER TABLE [" & TableName & "] ADD COLUMN [" & field & "] " & ftype & pk)
     Catch
       Log("CreateTable() " & field & " already exists")
     End Try
   Next
   
End Sub
			
				Last edited: 
			
		
	
							 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		