found the problem. The BO was in a parent/child relationship and the Sequence of the parent BO was empty. So I was looking at the wrong BO to figure out what was wrong Now it works fine. Sorry for the unnecessary post.
the Debug file looks like the one posted earlier. I even tried it without the schema -> same result:
MicroFour.StrataFrame.Data.DataBasics.DataSources(0).SetDebugOn(
However, as some insight, the data source tries place the sequence name in quotes when executing it. So, if you specify the full name to the sequence, like Schema.Sequence, then the data source will try to put that in quotes like this: "Schema.Sequence" which will throw it off (since it needs to be "Schema"."Sequence"). So, put it in debug and we'll see what it's trying to produce.
i receive the same error. And it's not me that sends this sql-command. It must be something that strataframe is sending.
I set BO.OracleSequence to an existing sequence schema.sequencename and the property InsertUsingStoredProcedure is set to false.
Why is the BO not using the specified sequence, but sends rather sends this incorrect command?
Thanks for your help
I placed the code as you suggested. And I received the following in the debug.html. (I erased the connection string from being displayed for security reason.) Please advice on why the "Missing Expression" error is occuring on adding records to oracle database.
Thanks.
Well in this case, diagnosis a "Missing Expression" error is like determine how long a string should be
Turn on data debugging which will write all of the QUERIES and COMMANDs to an HTML file which will let you see exactly what is going back to the server. There is no way for us to diagnose data related problems without the debug information.
In the Appmain.vb or program.cs file, turn on data debugging after the data source has been created.
I tried two ways, both of which give me the same error:
1. I used the Strataframe Maintenance Toolstrip Save method.
2. I have custom code as follows:
AreaBO areaBO = this.GetAreas(); // This return all records from the database
DataTable dataTable = areaBO.CurrentDataTable; DataColumn[] dataColumn = new DataColumn[1]; dataColumn[0] = dataTable.Columns["AREAID"]; dataTable.PrimaryKey = dataColumn;
DataRow dataRow = null; dataRow = dataTable.NewRow(); dataRow["ID"] = 955; // hardcoded for now. it will eventually be dynamic dataRow["Location"] = "test"; dataRow["IsActive"] = 1; dataTable.Rows.Add(dataRow);
if (areaBO.IsDirty) { areaBO.Save();
}
What am I doing wrong?