1

Konu: sql kayıt ekleme

CLOSE all
lnConn = SQLCONNECT('PETKOMGIRIS')
SQLEXEC(m.lnConn, 'use cari')
SQLEXEC(m.lnConn, 'SELECT * FROM cari','cari')
APPEND BLANK
REPLACE kod  WITH "1234"
BROWSE
SQLDISCONNECT(m.lnConn)

arkadasla bu komutlarla sql baglanıp kayıt eklıyorum
ama bu dosyayı tekar actıgımda eklemıs oldugum kayıtları goremıyorum
yenı basladım sayılır sql'e. Belkı soum cok sıkıcı ve basıt olarabılır ama yardımcı olursanınz sevınırım
tskler

2

Re: sql kayıt ekleme

SPT cursorler normalde updatable degil, onun update edilecegini belirtmen gerekli. Ornek (kusura bakma yabanci forumlara yazmistim, sidi ceviremeyegim, maca yetisicem:):

Visual Fox Pro
Clear All

csql = "SELECT EmployeeID, LastName, FirstName," + ;
    "Title, TitleOfCourtesy, BirthDate," + ;
    "Hiredate, Address, City, Region," + ;
    "PostalCode, Country, HomePhone," + ;
    "Extension, Photo, Notes," + ;
    "ReportsTo, PhotoPath FROM dbo.Employees"
 
lnHandle=Sqlstringconnect('DRIVER=SQL Server;'+;
    'SERVER=(local);DATABASE=Northwind;Trusted_Connection=Yes')
 
SQLExec(lnHandle,csql,'v_emp') && v_emp has data now but not updatable
* You can browse and change data but it wouldn't update
* at backend unless you prepare it to be updatable
 
* Make v_emp updatable
CursorSetProp('KeyFieldList','Employeeid','v_emp')
CursorSetProp('WhereType',1,'v_emp')
CursorSetProp('Tables','employees','v_emp')
 
* Specify fields' mapping
* Mapping is in pairs
* On left there is local field name and on right
* tablename.Fieldname on backend.
* employeeID  employees.employeeid
* employeeID is local field name mapping to
* employees.employeeid on backend
* In other words if set to be updatable
* v_emp.employeeID would update employees.employeeID at backend
* Note: Include key field in this list even though you might not
* want it to be updatable
TEXT to m.lcUpdateNameList noshow
employeeID  employees.employeeid,
Lastname employees.Lastname,
Firstname employees.FirstName,
Title employees.Title,
TitleOfCourtesy employees.TitleOfCourtesy,
BirthDate employees.BirthDate,
Hiredate employees.Hiredate,
Address employees.Address,
City employees.City,
Region employees.Region,
PostalCode employees.PostalCode,
Extension employees.Extension,
Notes employees.Notes,
ReportsTo employees.ReportsTo,
PhotoPath employees.PhotoPath
ENDTEXT
CursorSetProp("UpdateNameList", ;
    Chrtran(m.lcUpdateNameList,Chr(13)+Chr(10),''),'V_emp')
 
* Specify fields that could be updated
CursorSetProp('UpdatableFieldList',;
    "LastName, FirstName," + ;
    "Title, TitleOfCourtesy, BirthDate," + ;
    "Hiredate, Address, City, Region," + ;
    "PostalCode, Country, HomePhone," + ;
    "Extension, Notes," + ;
    "ReportsTo, PhotoPath",'v_emp')
CursorSetProp('SendUpdates',.T.,'v_emp')
* We want all updates to occur in a batch
* so setting to table level buffering
CursorSetProp('Buffering',5,'v_emp')
 
Browse Title 'Editable fields are all except Id and Photo'
* Update backend with changes
If !Tableupdate(2,.T.,'v_emp')
    Aerror(arrWhy)
    Display Memo Like arrWhy
EndIf
* Requery data from backend to see if it has been really updated
SQLExec(lnHandle,'select * from dbo.employees','afterupdate')
SQLDisconnect(lnHandle)
Select afterupdate
Browse

3

Re: sql kayıt ekleme

TEXT... ENDTEXT arasında kullanılan <Enter> CHR(13)+CHR(10) mu veriyor ?
yoksa ne olur ne olmaz diye mi CHRTRAN(..) içerisinde kullanıyorsunuz ?

VFP9 SP2

4

Re: sql kayıt ekleme

Biraz aliskanlik. Eski versiyonlarda o chr(13)+chr(10) ile ayrilmis bircok satir. VFP9'da pretext 15 kullansam olurdu:) Kod eski ve bu haliyle her versiyonda calisir.

5

Re: sql kayıt ekleme

SELECT v_emp
    TEXT TO cSql2 NOSHOW   
        UPDATE GNLFIRMA0 SET
            FIRMAAD = ?TRIM(THISFORM.Text2.Value),
            ADRES1 = ?TRIM(THISFORM.Text3.Value),
            TEL1 = ?TRIM(THISFORM.Text4.Value),
            TEL2 = ?TRIM(THISFORM.Text5.Value)
            WHERE SIRKOD=1 AND VERGINO = ?TRIM(THISFORM.Text1.Value)
    ENDTEXT   
    SQLExec(lHnd1,cSql2)
    = SQLCOMMIT(lHnd1)

6

Re: sql kayıt ekleme

spt nin en büyük handikapları datetime yı date'ye çevirememek ve requ() fonksiyonunun çalışmaması. bunun yanında denemedim ama view'den de cursor adapter'den de daha hızlı çalışacağını sanıyorum.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com