>>>>>>Hi,
>>>>>>
>>>>>>I think I can sent two command to SQL Server from VFP app (using SQLEXEC()) but I am not sure what separator to use. Should it be semi colon? For example if I want to alter a column and then set a value into this column, can I do the following:
>>>>>>
>>>>>>
>>>>>>cSqlCmd = "alter table MyTable alter column MyFld1 char(30); update MyTable set MyFld1 = repl('0',30) where len(MyFld1) = 0"
>>>>>>nRetunr = SQLEXEC(nConn, cSqlCmd)
>>>>>>
>>>>>>
>>>>>>Will the above work? TIA
>>>>>>
>>>>>>UPDATE. I ran it and it works.
>>>>>
>>>>>Yes, you can and should use semicolon. You can also use text endtext to put commands in multiple lines to improve readability.
>>>>
>>>>What would be an exmaple of my string above using 'text / endtext'?
>>>
>>>text to lcSQL noshow
>>>alter table MyTable alter column MyFld1 char(30);
>>>update MyTable set MyFld1 = replicate('0',30) where len(MyFld1) = 0;
>>>endtext
>>
>>I see. I thought that you meant that a key words 'text' and 'endtext' could be passed in the string to the SQL Server. So the separator is still a semi colon. By the way, is there a max length of the string (e.g. lcSql) to pass to SQL server?
>>Thank you.
>
>I am not sure of the max length of the SQL command. I passed relatively long scripts (~30+ lines) OK. New versions of SQL Server will make ; to be required so it's a good idea to use ; at the end of SQL commands.
Thank you. I will test it today on a long string. I need to add a table to SQL Server from VFP app and the line will be fairly long.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham