• Welcome to SQLitening Support Forum.
 

News:

Welcome to the SQLitening support forums!

Main Menu

Saving Images Revisited - Best Practice

Started by Fredrick Ughimi, January 02, 2013, 10:44:26 PM

Previous topic - Next topic

cj

#60
Post 52 says:
Quote
Of course a syntax error popped up

Post 53 says:
Quote
Can someone please guide me in the right direction. I need help with this. I have tried different things to come up the UPDATE version of the above routine. Here is my latest effort. I get parameter mismatch:


This is this?
Quote
slExeBind "UPDATE tblMembersBioData Set sFields,sFields2 WHERE RowID=" & sRecordNo 

Thought you needed help with the slBuildInsertOrUpdate statement to UPDATE instead of INSERT.

Fredrick Ughimi

Hello CJ,

Here is a little PB IDE version:


#COMPILE EXE
#DIM ALL

#INCLUDE "SQLITENING.INC"


FUNCTION PBMAIN () AS LONG
     
     LOCAL m_lTotalRecords&
     LOCAL m_sDate AS STRING
     LOCAL m_sTitle AS STRING
     LOCAL m_sSurname AS STRING
     LOCAL m_sOthernames AS STRING
     LOCAL m_sAgeGroup AS STRING
     LOCAL m_sSex AS STRING
     LOCAL m_sMaritalStatus AS STRING
     LOCAL m_sSpouseName AS STRING
     LOCAL m_sWeddingDate AS STRING
     LOCAL m_sNoOfChildren AS STRING
     LOCAL m_sEducationalLevel AS STRING
     LOCAL m_sOccupation AS STRING
     LOCAL m_sInstitution AS STRING
     LOCAL m_sLevel AS STRING
     LOCAL m_sAddress AS STRING
     LOCAL m_sArea AS STRING
     LOCAL m_sPhoneNo AS STRING
     LOCAL m_sEmail AS STRING
     LOCAL m_sOfficeAddress AS STRING
     LOCAL m_sOfficePhoneNo AS STRING
     LOCAL m_sOfficeEmail AS STRING
     LOCAL m_sConvertionYear AS STRING
     LOCAL m_sWaterBaptised AS STRING
     LOCAL m_sHolySpiritBaptised AS STRING
     LOCAL m_sFormerChurchAttended AS STRING
     LOCAL m_sHowLong AS STRING
     LOCAL m_sNewConvertClass AS STRING
     LOCAL m_sMembershipClass AS STRING
     LOCAL m_sATS AS STRING
     LOCAL m_sRIDS AS STRING
     LOCAL m_sAttend AS STRING
     LOCAL m_sUnit AS STRING
     LOCAL m_sIntendedChurchUnit AS STRING
     LOCAL m_sExtraInformation AS STRING
     LOCAL m_sName1 AS STRING
     LOCAL m_sBirthDate1 AS STRING
     LOCAL m_sSex1  AS STRING
     LOCAL m_sName2 AS STRING
     LOCAL m_sBirthDate2 AS STRING
     LOCAL m_sSex2 AS STRING
     LOCAL m_sName3 AS STRING
     LOCAL m_sBirthDate3 AS STRING
     LOCAL m_sSex3 AS STRING
     LOCAL m_sName4 AS STRING
     LOCAL m_sBirthDate4 AS STRING
     LOCAL m_sSex4 AS STRING
     LOCAL m_sName5 AS STRING
     LOCAL m_sBirthDate5 AS STRING
     LOCAL m_sSex5 AS STRING
     LOCAL m_sName6 AS STRING
     LOCAL m_sBirthDate6 AS STRING
     LOCAL m_sSex6 AS STRING
     LOCAL m_sName7 AS STRING
     LOCAL m_sBirthDate7 AS STRING
     LOCAL m_sSex7 AS STRING
     LOCAL m_sName8 AS STRING
     LOCAL m_sBirthDate8 AS STRING
     LOCAL m_sSex8 AS STRING
     LOCAL m_sName9 AS STRING
     LOCAL m_sBirthDate9 AS STRING
     LOCAL m_sSex9 AS STRING
     LOCAL sPicture AS STRING
     LOCAL sPixNamePath AS STRING
     LOCAL m_sPictureName AS STRING
     LOCAL sFields AS STRING
     LOCAL sData AS STRING
     LOCAL sFields2 AS STRING
                                       
     slOpen ("ChurchProDB.db3","C")
     
     'Members Bio-Data
   slExe BUILD$("Create Table If Not Exists tblMembersBioData(Date TEXT, Title TEXT, Surname TEXT, Othernames TEXT, AgeGroup TEXT,", _
   "Sex TEXT, MaritalStatus TEXT,SpouseName TEXT, WeddingDate TEXT, NoOfChildren TEXT, EducationalLevel TEXT, Occupation TEXT,", _
   "Institution TEXT, Level TEXT, Address TEXT, Area TEXT, PhoneNo TEXT, Email TEXT, OfficeAddress TEXT, OfficePhoneNo TEXT,", _
   "OfficeEmail TEXT, ConvertionYear TEXT, WaterBaptised TEXT, HolySpiritBaptised TEXT, FormerChurch TEXT, HowLong TEXT,", _
   "NewConvertClass TEXT, MembershipClass TEXT, ATS TEXT, RIDS TEXT, Attend TEXT, Unit TEXT, IntendedChurchUnit TEXT,", _
   "ExtraInformation TEXT, Name1 TEXT , Birthdate1 TEXT, Sex1 TEXT, Name2 TEXT, Birthdate2 TEXT, Sex2 TEXT,", _
   "Name3 TEXT, Birthdate3 TEXT, Sex3 TEXT, Name4 TEXT, Birthdate4 TEXT, Sex4 TEXT, Name5 TEXT, Birthdate5 TEXT, Sex5 TEXT,", _
   "Name6 TEXT, Birthdate6 TEXT, Sex6 TEXT, Name7 TEXT, Birthdate7 TEXT, Sex7 TEXT, Name8 TEXT, Birthdate8 TEXT, Sex8 TEXT,", _
   "Name9 TEXT, Birthdate9 TEXT, Sex9 TEXT, PictureName TEXT, Picture Blob)")
   
  'CONTROL GET TEXT hfrmMembers1, %ID_FRMMEMBERS1_DPKDATE TO m_sDate

  'CONTROL GET TEXT hfrmMembers1, %ID_FRMMEMBERS1_CBOTITLE TO m_sTitle

  '---- Down till the last -------'
 
sFields = REPEAT$(62,"?"+$NUL) & "?"

sData = slBuildBindDat(m_sDate, "T") & _
slBuildBindDat(m_sTitle, "T") & _
slBuildBindDat(m_sSurname, "T") & _
slBuildBindDat(m_sOthernames, "T") & _
slBuildBindDat(m_sAgeGroup, "T") & _
slBuildBindDat(m_sSex, "T") & _
slBuildBindDat(m_sMaritalStatus, "T") & _
slBuildBindDat(m_sSpouseName, "T") & _
slBuildBindDat(m_sWeddingDate, "T") & _
slBuildBindDat(m_sNoOfChildren, "T") & _
slBuildBindDat(m_sEducationalLevel, "T") & _
slBuildBindDat(m_sOccupation, "T") & _
slBuildBindDat(m_sInstitution, "T") & _
slBuildBindDat(m_sLevel, "T") & _
slBuildBindDat(m_sAddress, "T") & _
slBuildBindDat(m_sArea, "T") & _
slBuildBindDat(m_sPhoneNo, "T") & _
slBuildBindDat(m_sEmail, "T") & _
slBuildBindDat(m_sOfficeAddress, "T") & _
slBuildBindDat(m_sOfficePhoneNo, "T") & _
slBuildBindDat(m_sOfficeEmail, "T") & _
slBuildBindDat(m_sConvertionYear, "T") & _
slBuildBindDat(m_sWaterBaptised, "T") & _
slBuildBindDat(m_sHolySpiritBaptised, "T") & _
slBuildBindDat(m_sFormerChurchAttended, "T") & _
slBuildBindDat(m_sHowLong, "T") & _
slBuildBindDat(m_sNewConvertClass, "T") & _
slBuildBindDat(m_sMembershipClass, "T") & _
slBuildBindDat(m_sATS, "T") & _
slBuildBindDat(m_sRIDS, "T") & _
slBuildBindDat(m_sAttend, "T") & _
slBuildBindDat(m_sUnit, "T") & _
slBuildBindDat(m_sIntendedChurchUnit, "T") & _
slBuildBindDat(m_sExtraInformation, "T") & _
slBuildBindDat(m_sName1, "T") & _
slBuildBindDat(m_sBirthdate1, "T") & _
slBuildBindDat(m_sSex1, "T") & _
slBuildBindDat(m_sName2, "T") & _
slBuildBindDat(m_sBirthdate2, "T") & _
slBuildBindDat(m_sSex2, "T") & _
slBuildBindDat(m_sName3, "T") & _
slBuildBindDat(m_sBirthdate3, "T") & _
slBuildBindDat(m_sSex3, "T") & _
slBuildBindDat(m_sName4, "T") & _
slBuildBindDat(m_sBirthdate4, "T") & _
slBuildBindDat(m_sSex4, "T") & _
slBuildBindDat(m_sName5, "T") & _
slBuildBindDat(m_sBirthdate5, "T") & _
slBuildBindDat(m_sSex5, "T") & _
slBuildBindDat(m_sName6, "T") & _
slBuildBindDat(m_sBirthdate6, "T") & _
slBuildBindDat(m_sSex6, "T") & _
slBuildBindDat(m_sName7, "T") & _
slBuildBindDat(m_sBirthdate7, "T") & _
slBuildBindDat(m_sSex7, "T") & _
slBuildBindDat(m_sName8, "T") & _
slBuildBindDat(m_sBirthdate8, "T") & _
slBuildBindDat(m_sSex8, "T") & _
slBuildBindDat(m_sName9, "T") & _
slBuildBindDat(m_sBirthdate9, "T") & _
slBuildBindDat(m_sSex9, "T") & _
slBuildBindDat(m_sPictureName, "T") & _
slBuildBindDat(sPicture, "B")

slExeBind(slBuildInsertOrUpdate("tblMembersBioData", sFields), sData)

? "Ok"
END FUNCTION



Fredrick O. Ughimi<br /><br />fughimi@gmail.com<br />- Freedom lies in being bold -- Robert Frost, Poet

Fredrick Ughimi

>>Thought you needed help with the slBuildInsertOrUpdate statement to UPDATE instead of INSERT

Yes.

Fredrick O. Ughimi<br /><br />fughimi@gmail.com<br />- Freedom lies in being bold -- Robert Frost, Poet

Fredrick Ughimi

Was just trying out this:


slExeBind "UPDATE tblMembersBioData Set sFields,sFields2 WHERE RowID=" & sRecordNo


Which ever one that work is fine.
Fredrick O. Ughimi<br /><br />fughimi@gmail.com<br />- Freedom lies in being bold -- Robert Frost, Poet

cj

#64
Can  UPDATE with slExe and slBuildInsertOrUpdate , but how with slExeBind instead of slExe?
Kinda defeats the use of slBuildInsertOrUpdate if you have to hard code the SQL statement.
Trying to use slExeBind with slBuildInsertOfUpdate with a WHERE clause.
Added some more code below to test and display actual data in the "title" field.

Suggestion: While testing only use a couple of columns instead of 63 to cut down the code.

Need to use slExeBind instead of slExe.

'Update record
sData = slBuildBindDat("New title","T")
slExe  slBuildInsertOrUpdate("tblMembersBioData","Update","Title","*")
END FUNCTION



This is a functional test that displays the data in the title field.
Can someone  show how to use the WHERE with slExeBind(slBuildInsertOrUpdate) ?

#COMPILE EXE
#DIM ALL
#INCLUDE "SQLITENING.INC"
FUNCTION PBMAIN () AS LONG

     LOCAL m_lTotalRecords&
     LOCAL m_sDate AS STRING
     LOCAL m_sTitle AS STRING
     LOCAL m_sSurname AS STRING
     LOCAL m_sOthernames AS STRING
     LOCAL m_sAgeGroup AS STRING
     LOCAL m_sSex AS STRING
     LOCAL m_sMaritalStatus AS STRING
     LOCAL m_sSpouseName AS STRING
     LOCAL m_sWeddingDate AS STRING
     LOCAL m_sNoOfChildren AS STRING
     LOCAL m_sEducationalLevel AS STRING
     LOCAL m_sOccupation AS STRING
     LOCAL m_sInstitution AS STRING
     LOCAL m_sLevel AS STRING
     LOCAL m_sAddress AS STRING
     LOCAL m_sArea AS STRING
     LOCAL m_sPhoneNo AS STRING
     LOCAL m_sEmail AS STRING
     LOCAL m_sOfficeAddress AS STRING
     LOCAL m_sOfficePhoneNo AS STRING
     LOCAL m_sOfficeEmail AS STRING
     LOCAL m_sConvertionYear AS STRING
     LOCAL m_sWaterBaptised AS STRING
     LOCAL m_sHolySpiritBaptised AS STRING
     LOCAL m_sFormerChurchAttended AS STRING
     LOCAL m_sHowLong AS STRING
     LOCAL m_sNewConvertClass AS STRING
     LOCAL m_sMembershipClass AS STRING
     LOCAL m_sATS AS STRING
     LOCAL m_sRIDS AS STRING
     LOCAL m_sAttend AS STRING
     LOCAL m_sUnit AS STRING
     LOCAL m_sIntendedChurchUnit AS STRING
     LOCAL m_sExtraInformation AS STRING
     LOCAL m_sName1 AS STRING
     LOCAL m_sBirthDate1 AS STRING
     LOCAL m_sSex1  AS STRING
     LOCAL m_sName2 AS STRING
     LOCAL m_sBirthDate2 AS STRING
     LOCAL m_sSex2 AS STRING
     LOCAL m_sName3 AS STRING
     LOCAL m_sBirthDate3 AS STRING
     LOCAL m_sSex3 AS STRING
     LOCAL m_sName4 AS STRING
     LOCAL m_sBirthDate4 AS STRING
     LOCAL m_sSex4 AS STRING
     LOCAL m_sName5 AS STRING
     LOCAL m_sBirthDate5 AS STRING
     LOCAL m_sSex5 AS STRING
     LOCAL m_sName6 AS STRING
     LOCAL m_sBirthDate6 AS STRING
     LOCAL m_sSex6 AS STRING
     LOCAL m_sName7 AS STRING
     LOCAL m_sBirthDate7 AS STRING
     LOCAL m_sSex7 AS STRING
     LOCAL m_sName8 AS STRING
     LOCAL m_sBirthDate8 AS STRING
     LOCAL m_sSex8 AS STRING
     LOCAL m_sName9 AS STRING
     LOCAL m_sBirthDate9 AS STRING
     LOCAL m_sSex9 AS STRING
     LOCAL sPicture AS STRING
     LOCAL sPixNamePath AS STRING
     LOCAL m_sPictureName AS STRING
     
     LOCAL sFields AS STRING
     LOCAL sData AS STRING
     LOCAL sFields2 AS STRING

     slOpen ("ChurchProDB.db3","C")

     'Members Bio-Data
   'slExe "Drop table if exists tblMembersBioData"

   slExe BUILD$("Create Table If Not Exists tblMembersBioData(Date TEXT, Title TEXT, Surname TEXT, Othernames TEXT, AgeGroup TEXT,", _
   "Sex TEXT, MaritalStatus TEXT,SpouseName TEXT, WeddingDate TEXT, NoOfChildren TEXT, EducationalLevel TEXT, Occupation TEXT,", _
   "Institution TEXT, Level TEXT, Address TEXT, Area TEXT, PhoneNo TEXT, Email TEXT, OfficeAddress TEXT, OfficePhoneNo TEXT,", _
   "OfficeEmail TEXT, ConvertionYear TEXT, WaterBaptised TEXT, HolySpiritBaptised TEXT, FormerChurch TEXT, HowLong TEXT,", _
   "NewConvertClass TEXT, MembershipClass TEXT, ATS TEXT, RIDS TEXT, Attend TEXT, Unit TEXT, IntendedChurchUnit TEXT,", _
   "ExtraInformation TEXT, Name1 TEXT , Birthdate1 TEXT, Sex1 TEXT, Name2 TEXT, Birthdate2 TEXT, Sex2 TEXT,", _
   "Name3 TEXT, Birthdate3 TEXT, Sex3 TEXT, Name4 TEXT, Birthdate4 TEXT, Sex4 TEXT, Name5 TEXT, Birthdate5 TEXT, Sex5 TEXT,", _
   "Name6 TEXT, Birthdate6 TEXT, Sex6 TEXT, Name7 TEXT, Birthdate7 TEXT, Sex7 TEXT, Name8 TEXT, Birthdate8 TEXT, Sex8 TEXT,", _
   "Name9 TEXT, Birthdate9 TEXT, Sex9 TEXT, PictureName TEXT, Picture Blob)")

  'CONTROL GET TEXT hfrmMembers1, %ID_FRMMEMBERS1_DPKDATE TO m_sDate

  'CONTROL GET TEXT hfrmMembers1, %ID_FRMMEMBERS1_CBOTITLE TO m_sTitle

  '---- Down till the last -------'

sFields = REPEAT$(62,"?"+$NUL) & "?"

m_sTitle = "Insert title"

sData = slBuildBindDat(m_sDate, "T") & _
slBuildBindDat(m_sTitle, "T") & _
slBuildBindDat(m_sSurname, "T") & _
slBuildBindDat(m_sOthernames, "T") & _
slBuildBindDat(m_sAgeGroup, "T") & _
slBuildBindDat(m_sSex, "T") & _
slBuildBindDat(m_sMaritalStatus, "T") & _
slBuildBindDat(m_sSpouseName, "T") & _
slBuildBindDat(m_sWeddingDate, "T") & _
slBuildBindDat(m_sNoOfChildren, "T") & _
slBuildBindDat(m_sEducationalLevel, "T") & _
slBuildBindDat(m_sOccupation, "T") & _
slBuildBindDat(m_sInstitution, "T") & _
slBuildBindDat(m_sLevel, "T") & _
slBuildBindDat(m_sAddress, "T") & _
slBuildBindDat(m_sArea, "T") & _
slBuildBindDat(m_sPhoneNo, "T") & _
slBuildBindDat(m_sEmail, "T") & _
slBuildBindDat(m_sOfficeAddress, "T") & _
slBuildBindDat(m_sOfficePhoneNo, "T") & _
slBuildBindDat(m_sOfficeEmail, "T") & _
slBuildBindDat(m_sConvertionYear, "T") & _
slBuildBindDat(m_sWaterBaptised, "T") & _
slBuildBindDat(m_sHolySpiritBaptised, "T") & _
slBuildBindDat(m_sFormerChurchAttended, "T") & _
slBuildBindDat(m_sHowLong, "T") & _
slBuildBindDat(m_sNewConvertClass, "T") & _
slBuildBindDat(m_sMembershipClass, "T") & _
slBuildBindDat(m_sATS, "T") & _
slBuildBindDat(m_sRIDS, "T") & _
slBuildBindDat(m_sAttend, "T") & _
slBuildBindDat(m_sUnit, "T") & _
slBuildBindDat(m_sIntendedChurchUnit, "T") & _
slBuildBindDat(m_sExtraInformation, "T") & _
slBuildBindDat(m_sName1, "T") & _
slBuildBindDat(m_sBirthdate1, "T") & _
slBuildBindDat(m_sSex1, "T") & _
slBuildBindDat(m_sName2, "T") & _
slBuildBindDat(m_sBirthdate2, "T") & _
slBuildBindDat(m_sSex2, "T") & _
slBuildBindDat(m_sName3, "T") & _
slBuildBindDat(m_sBirthdate3, "T") & _
slBuildBindDat(m_sSex3, "T") & _
slBuildBindDat(m_sName4, "T") & _
slBuildBindDat(m_sBirthdate4, "T") & _
slBuildBindDat(m_sSex4, "T") & _
slBuildBindDat(m_sName5, "T") & _
slBuildBindDat(m_sBirthdate5, "T") & _
slBuildBindDat(m_sSex5, "T") & _
slBuildBindDat(m_sName6, "T") & _
slBuildBindDat(m_sBirthdate6, "T") & _
slBuildBindDat(m_sSex6, "T") & _
slBuildBindDat(m_sName7, "T") & _
slBuildBindDat(m_sBirthdate7, "T") & _
slBuildBindDat(m_sSex7, "T") & _
slBuildBindDat(m_sName8, "T") & _
slBuildBindDat(m_sBirthdate8, "T") & _
slBuildBindDat(m_sSex8, "T") & _
slBuildBindDat(m_sName9, "T") & _
slBuildBindDat(m_sBirthdate9, "T") & _
slBuildBindDat(m_sSex9, "T") & _
slBuildBindDat(m_sPictureName, "T") & _
slBuildBindDat(sPicture, "B")

LOCAL sResult AS STRING
'Insert record
slExeBind(slBuildInsertOrUpdate("tblMembersBioData", sFields), sData)
'sResult = SQL("Select RowId,Title from tblMembersBioData")

'Update record
sData = slBuildBindDat("New title","T")
slExe  slBuildInsertOrUpdate("tblMembersBioData","Update title","Title","*")
sResult = sResult & SQL("Select RowId,Title from tblMembersBioData")
? sResult
END FUNCTION

FUNCTION SQL(SqlStatement AS STRING) AS STRING
LOCAL columns,x AS LONG, s AS STRING
slSel SqlStatement
columns = slGetColumnCount
DO WHILE slGetRow
  FOR x = 1 TO Columns
    s = s + slf(x) + ","
  NEXT
  ASC(s,LEN(s)) = 13 'replace last , with $CR
LOOP
FUNCTION = s
END FUNCTION




cj

#65
Shorter code to look at.  Need slExeBind instead of slExe  with Where clause.

#INCLUDE "SQLITENING.INC"
FUNCTION PBMAIN () AS LONG
  LOCAL m_sTitle,sFields,sData,sResult AS STRING
  slOpen ("Test.db3","C")
  slExe "Drop table if exists t1"
  slExe "Create Table If Not Exists t1(f1)"
  sFields = "?"
  m_sTitle = "Insert record"
  sData = slBuildBindDat(m_sTitle, "T")
  slExeBind(slBuildInsertOrUpdate("t1", sFields), sData)
  ? SQL("Select RowId,Title from t1"),,"After insert"

  m_sTitle = "Update record"
  sData = slBuildBindDat(m_sTitle,"T")
  slExe slBuildInsertOrUpdate("t1","Update","f1","rowid=1")
  ? SQL("Select RowId,Title from t1"),,"After update"
END FUNCTION

FUNCTION SQL(SqlStatement AS STRING) AS STRING
LOCAL columns,x AS LONG, s AS STRING
slSel SqlStatement
columns = slGetColumnCount
DO WHILE slGetRow
  FOR x = 1 TO Columns
    s = s + slf(x) + ","
  NEXT
  ASC(s,LEN(s)) = 13 'replace last , with $CR
LOOP
FUNCTION = s
END FUNCTION



                                   

Fredrick Ughimi

#66
CJ,

Quote
Can  UPDATE with slExe and slBuildInsertOrUpdate , but how with slExeBind instead of slExe?
Kinda defeats the use of slBuildInsertOrUpdate if you have to hard code the SQL statement.

You are absolutely right.  UPDATE is easier with slExe.

Anyway I have made  UPDATE work. Thanks alot:


sFields = Repeat$(62,"?"+$Nul) & "?" 

sData = slBuildBindDat(SQLiteDate(m_sDate), "T") & _
slBuildBindDat(m_sTitle, "T") & _ 
slBuildBindDat(m_sSurname, "T") & _                   
slBuildBindDat(m_sOthernames, "T") & _     
slBuildBindDat(m_sAgeGroup, "T") & _ 
slBuildBindDat(m_sSex, "T") & _ 
slBuildBindDat(m_sMaritalStatus, "T") & _
slBuildBindDat(m_sSpouseName, "T") & _
slBuildBindDat(SQLiteDate(m_sWeddingDate), "T") & _     
slBuildBindDat(m_sNoOfChildren, "T") & _     
slBuildBindDat(m_sEducationalLevel, "T") & _     
slBuildBindDat(m_sOccupation, "T") & _ 
slBuildBindDat(m_sInstitution, "T") & _ 
slBuildBindDat(m_sLevel, "T") & _ 
slBuildBindDat(m_sAddress, "T") & _ 
slBuildBindDat(m_sArea, "T") & _ 
slBuildBindDat(m_sPhoneNo, "T") & _ 
slBuildBindDat(m_sEmail, "T") & _ 
slBuildBindDat(m_sOfficeAddress, "T") & _ 
slBuildBindDat(m_sOfficePhoneNo, "T") & _ 
slBuildBindDat(m_sOfficeEmail, "T") & _ 
slBuildBindDat(m_sConvertionYear, "T") & _ 
slBuildBindDat(m_sWaterBaptised, "T") & _ 
slBuildBindDat(m_sHolySpiritBaptised, "T") & _ 
slBuildBindDat(m_sFormerChurchAttended, "T") & _ 
slBuildBindDat(m_sHowLong, "T") & _ 
slBuildBindDat(m_sNewConvertClass, "T") & _
slBuildBindDat(m_sMembershipClass, "T") & _
slBuildBindDat(m_sATS, "T") & _
slBuildBindDat(m_sRIDS, "T") & _
slBuildBindDat(m_sAttend, "T") & _
slBuildBindDat(m_sUnit, "T") & _
slBuildBindDat(m_sIntendedChurchUnit, "T") & _
slBuildBindDat(m_sExtraInformation, "T") & _
slBuildBindDat(m_sName1, "T") & _
slBuildBindDat(m_sBirthdate1, "T") & _
slBuildBindDat(m_sSex1, "T") & _
slBuildBindDat(m_sName2, "T") & _
slBuildBindDat(m_sBirthdate2, "T") & _
slBuildBindDat(m_sSex2, "T") & _
slBuildBindDat(m_sName3, "T") & _
slBuildBindDat(m_sBirthdate3, "T") & _
slBuildBindDat(m_sSex3, "T") & _
slBuildBindDat(m_sName4, "T") & _
slBuildBindDat(m_sBirthdate4, "T") & _
slBuildBindDat(m_sSex4, "T") & _
slBuildBindDat(m_sName5, "T") & _
slBuildBindDat(m_sBirthdate5, "T") & _
slBuildBindDat(m_sSex5, "T") & _
slBuildBindDat(m_sName6, "T") & _
slBuildBindDat(m_sBirthdate6, "T") & _
slBuildBindDat(m_sSex6, "T") & _
slBuildBindDat(m_sName7, "T") & _
slBuildBindDat(m_sBirthdate7, "T") & _
slBuildBindDat(m_sSex7, "T") & _
slBuildBindDat(m_sName8, "T") & _
slBuildBindDat(m_sBirthdate8, "T") & _
slBuildBindDat(m_sSex8, "T") & _
slBuildBindDat(m_sName9, "T") & _
slBuildBindDat(m_sBirthdate9, "T") & _
slBuildBindDat(m_sSex9, "T") & _
slBuildBindDat(m_sPictureName, "T") & _
slBuildBindDat(sPicture, "B")

slExeBind(slBuildInsertOrUpdate("tblMembersBioData", sFields, "Date, Title, Surname, Othernames, AgeGroup, Sex, MaritalStatus, SpouseName, WeddingDate, NoOfChildren, EducationalLevel," & _
"Occupation, Institution, Level, Address, Area, PhoneNo, Email, OfficeAddress, OfficePhoneNo, OfficeEmail, ConvertionYear, WaterBaptised, HolySpiritBaptised," & _
"FormerChurch, HowLong, NewConvertClass, MembershipClass, ATS, RIDS, Attend, Unit, IntendedChurchUnit, ExtraInformation, Name1, Birthdate1, Sex1," & _
"Name2, Birthdate2, Sex2, Name3, Birthdate3, Sex3, Name4, Birthdate4, Sex4, Name5, Birthdate5, Sex5, Name6, Birthdate6, Sex6, Name7, Birthdate7," & _
"Sex7, Name8, Birthdate8, Sex8, Name9, Birthdate9, Sex9, PictureName, Picture", "rowid=" & sRecordNo), sData)

Fredrick O. Ughimi<br /><br />fughimi@gmail.com<br />- Freedom lies in being bold -- Robert Frost, Poet