Questions tagged [4d-database]

4D is an integrated development platform containing all of the components needed to create and distribute professional applications.

History

Initially developed in 1984 by Laurent Ribardière, it was initially negotiated that 4D would be published by Apple. However, due to pressure from other database publishers, those plans eventually fell through, and 4D was published independently by Laurent Ribardière, in partnership with French businesswoman, Marylene Delbourg-Delphis.

Although independently published, Apple did support the venture and used 4D extensively throughout the organization for diverse projects such as fitness center management to CIM (Computer Integrated Manufacturing). This support from Apple undoubtedly helped the product to mature and gain traction in a difficult marketplace.

In 1987 4D was reviewed by Info World in their September 28 1987 publication.

In 1993, 4D Server, the client/server version of 4th Dimension was introduced and since 1995, 4D has supported both the Microsoft Windows and Apple Macintosh operating systems.

Syntax

The 4D syntax is unique, but bears some similarity to Visual Basic, Perl, and Python. One very unique aspect of 4D is that it's SQL engine is directly integrated into the language. The screenshot below demonstrates the Method Editor interface, showing the mixture of 4D and SQL syntax.

enter image description here

Current/Supported versions

Hotfix Versions

  • 4D v15.2 Hotfix 1, released on 4 July 2016 (fix list)
  • 4D v14.5 Hotfix 1, released on 11 July 2016 (fix list)

Legacy/Unsupported Versions

  • 4D v15.6, Final release on 25 Apr 2018; (first v15 release on 16 Jul 15).
  • 4D v14.6, Final release on 20 Dec 2016; (first v15 release on 12 Dec 13).
  • 4D v13.6, Final release on 18 Jun 2015; (first v13 release on 14 Feb 12).
  • 4D v12.6, Final release on 08 Oct 2013; (first v12 release on 03 Jun 2010).
  • 4D v11.9, Final release on 07 Jul 2011; (first v11 release on 25 Sep 2008).
  • 4D 2004.8, Final release on 30 Jun 2009; (first 2004 release on 31 Aug 2004).
  • 4D 2003.8r2, Final release on 11 Apr 2006; (first 2003 release on 17 Mar 2003).
  • 4D v6.8.6, Final release on 24 Sep 2004; (first 6.8 release on 15 Apr 2002).

Additional Resources

Related Tags

116 questions
1
vote
1 answer

How can I update a 4D record from SQL Server, over ODBC?

I've got a 4D database running in 4D Server, with 4D Sql Server running. On another Windows machine, I've got an an ODBC data source set up for it. On that 2nd machine, in SQL Server Management Studio, I've created a Linked Server using that ODBC…
1
vote
1 answer

how to programmatically reject new connections on 4d v17?

are there commands similar to WEB STOP SERVER and STOP SQL SERVER but to reject new connections on my 4d server?
Gers
  • 572
  • 1
  • 4
  • 15
1
vote
1 answer

Python SQL sanitization WITHOUT driver support

Is there a way to properly sanitize SQL inputs before passing them to the cursor.execute command in python? I know you are supposed to be able to make a construct like the following: cursor.execute("insert into Attendees values (?, ?, ?)", (name,…
1
vote
1 answer

can't change the default homepage with 4D

i'm trying to follow this tutorial to start with 4d server web. http://doc.4d.com/4Dv16/4D/16/Serveur-Web.200-3246839.fe.html i've disabled the default homepage index.html (and even deleted the actual file in the WebFolder folder) and then added…
Gers
  • 572
  • 1
  • 4
  • 15
1
vote
2 answers

4D expecting a variable with pointers and array

Here is the snippet: C_TEXT($1;$text) C_POINTER($2) $text:=$1 $vlElem:=Size of array($2->) Repeat $vlElem:=$vlElem+1 INSERT IN ARRAY($2->;$vlElem) $vlPos:=Position(Char(Carriage return);$1) If ($vlPos>0) …
Dylan
  • 37
  • 6
1
vote
1 answer

Writing to 4D using PDO

I am having success reading from 4D using PDO, but not writing to it. When I try to Insert values into the database I get the following error: SQLSTATE[HY000]: General error: 1248 Failed to execute statement. Here is my code:
Tyler
  • 119
  • 1
  • 11
1
vote
1 answer

PDO_4D Produces 'General Error: 1004 Failed to execute statement' for UPDATE query but not SELECT queries

I'm using PHP7 and PDO_4D to connect to a 4D database. So far, I've only read from the DB and had not written to it. The below code block with a SELECT statement will execute without errors. $db = new…
Manu
  • 48
  • 7
1
vote
1 answer

using raw text as table instead of pointer to table

Are there any structure access methods in 4D that will let you provide a text data type argument to a 4D method that will let you get information about a table? I've looked at: Table, Table name but both seem to only take in a table number or a…
Kevin
  • 3,441
  • 6
  • 34
  • 40
1
vote
2 answers

How to use remote DB with Wakanda Studio v2.0.1?

I use the new version of Wakanda Studio, v2.0.1. How do I connect Wakanda to 4D database? I right click and I can't find "Connect to Remote Datastore".
Pratoux
  • 87
  • 8
1
vote
0 answers

Cannot perform parameterized query with pyodbc

I have this query working through ODBC to a 4D database. It returns records as expected. with pyodbc.connect('dsn=datasource') as db4dcon: print(db4dcon) db4dcur = db4dcon.cursor() print(db4dcur) db4dcur.execute("SELECT * FROM…
chdegrave
  • 11
  • 2
1
vote
0 answers

4D mobile: pessimistic locking not working

I'm trying to make use of the entity.lock() method on wakanda to lock a record to my 4D users, as described in the documentation for lock(). Yet, when applying the code given in the doc, the lock() method always return false, and 4D can happily…
1
vote
1 answer

Unable to establish connection to 4D database via ODBC driver

I installed the ODBC for 4d server but could not work it! Did you ever get the ODBC driver to work? I just installed it as well and cannot create a DSN that connects?
Helen
  • 11
  • 3
1
vote
2 answers

How do I make a HTTP request in 4D v12 database

My 4D database has a method that calls an external application to make an HTTP request to an API site, e.g. https://somewhere.com/api/?key=somekey¶m=someparam. The request returns a JSON response. However, the external application only returns a…
Jun Dolor
  • 609
  • 2
  • 11
  • 25
1
vote
1 answer

Backup postgresql database from 4D

I am using 4D for front-end and postgresql for back-end. So i have the requirement to take database backups from front-end. Here what i have done so far for taking backups in 4D. C_LONGINT(i_pg_connection) i_pg_connection:=PgSQL Connect…
Suniel
  • 1,449
  • 8
  • 27
  • 39
1
vote
3 answers

QPix QPx_AcqRunSession does not preview the image being captured

We are upgrading our project to 4D v12 and our QPix plugin stopped showing us a preview of the image we are about to take. The image capture works just fine; the only problem is that the preview simply shows a white screen. If I select the "Video…
MrHen
  • 2,420
  • 2
  • 25
  • 39