In SSMS run this script CREATE PROCEDURE newEmployee -- Add the parameters for the stored procedure here @name varchar(75) , @dob datetime = null AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
Insert into Employees values(@name, @dob)
END GO
In your VP app:
cCmd = [exec newEmployee 'john Doe' ]
sqlexec(nHandle,cCmd)
From wherever you can do this
select * from Employees
You should see this:
name dob john Doe NULL
To get the date in use this statement: exec newEmployee 'Tommy Doe', '1997-01-05'
You will now see this: name dob john Doe NULL Tommy Doe 1997-01-05 00:00:00.000
Let SQL do the work for you and just call that code for all your necessary functionality in the future.
On Wed, Jun 13, 2018 at 9:30 AM Rafael Copquin rafael.copquin@gmail.com wrote:
I have a SQL Server 2012 Express table with a field called DOB of type DATE
The field accepts NULL values and does not have a default value..
To insert the DOB from VFP I transform it to the form 'YYYY-MM-DD' and send it as a character string.
However, if the DOB is empty, the only way VFP inserts the record is if the empty value is sent as '' and the DOB field displays '1900-01-01' which is the value inserted.
I want to insert NULL in the field, not '1900-01-01'
If I use the SQL Server Management Studio, I can insert the NULL value directly with this expression:
insert into mydatabase.dbo.employees(name,dob) values( 'John Doe',NULL)
However, this command, from VFP, does not insert the record:
cCmd = [insert into mydatabase.dbo.employees(name,dob) values( 'John Doe',NULL) ]
sqlexec(nHandle,cCmd)
How can I get the field to get the NULL value?
TIA Rafael Copquin
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html
[excessive quoting removed by server]