L’esempio mostra come inserire un nuovo record in una tabella di SQL Server utilizzando il comando SQL “INSERT INTO” in linguaggio cScript
#include “apdefap.h”
int dbInsertInto(char *szTable,char *szCampi,char *szValori)
{
#define GetObject GetObject
__object *objConnection=NULL;
__object *objRst=NULL;
char strConnectionString[NC];
char strSQL[NC];
int NewID;
printf(“dbInsertInto(%s,%s,%s)\r\n”,szTable,szCampi,szValori);
//connessione a database e query
sprintf(strConnectionString,”DRIVER=SQL Server;”
“UID=SYSTEM;”
“Trusted_Connection=Yes;”
“DATABASE=%sR;”
“WSID=%s;”
“SERVER=%s\\WINCC;”,
GetTagChar(“@ProjectDSN”),
GetTagChar(“@ServerName”),
GetTagChar(“@ServerName”));
if(!GetTagBit(“@IsServerPc”))
strcat(strConnectionString,”LINKS=TCPIP;”);
objConnection = __object_create(“ADODB.Connection”);
objConnection->ConnectionString = strConnectionString ;
objConnection->Open;
objRst = __object_create(“ADODB.Recordset”);
objRst->CursorType = 0;
objRst ->LockType = 1;
// trovo l’id da utilizzare
sprintf(strSQL,””);
sprintf(strSQL,”SELECT TOP 1 ID FROM UA#%s ORDER BY ID DESC”,szTable);
objRst ->Open(strSQL, objConnection,0,1,1); //adCmdText
if((objRst ->eof && objRst ->bof))
NewID = 1;
else
NewID = objRst ->Fields->Item(“ID”)+1;
//eseguo l’inserimeto del record
objRst ->Close;
__object_delete(objRst );
sprintf(strSQL,”INSERT INTO UA#%s (ID,%s) VALUES (%d,%s);”,szTable,szCampi,NewID,szValori);
objConnection->Execute(strSQL);
objConnection->Close;
__object_delete(objConnection);
return NewID;
}
La funzione viene chiamata con i parametri nome tabella, nome campi e valori, ritorna l’id del record
(NT)