Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Extragere date ...
 Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 
 8/1/2009 5:46:38 PM
User is offlineNatalia
3 posts


Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A)
Buna ziua.

Cand aduc cu sqlexec() inregistrari dintr-o tabela de pe serverul SQL, campurile de tip 'varchar' cu lungime mai mare de 254  imi ajung in cursorul final campuri de tip 'memo'. Avand in vedere ca  Visual Fox nu stie sa lucreze cu mai mult decat 254 caractere, converteste automat campurile respective la memo pentru a nu trunchia informatia (ma gandesc...). Am citit pe net ca singura solutie e dupa ce obtin datele, sa mai fac un select asupra selectului initial  folosind functii ca alltrim() sau left() aplicate asupra campurilor memo. Am verificat si intr-adevar merge. Daca cunoasteti alte solutii, n-as vrea sa fac 2 selecturi .

Va Multumesc mult.

Natalia

 8/1/2009 7:22:36 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A)
Eu cred ca ar trebui sa regandesti designul bazei de date. Daca ai varchar mai mare decat 254 inseamna ca ai text mai mare de 254, deci vrei nu vrei iti trebuie un memo. Daca ai texte mai mici de 254, foloseste varchar() de cat ai tu acolo.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/2/2009 10:57:03 PM
User is offlineNatalia
3 posts


Re: Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A)
Din pacate, nu eu am facut designul bazei de date si nici nu pot (nu am dreptul) sa intervin. A fost contractata o aplicatie pe toata tara, dar este destul de nereusita, in special ca au facut un tabel de firme cu campul [denumirea firmei] ca varchar (256). Asta e. Va multumesc oricum pentru raspuns.
 8/3/2009 12:12:55 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A) Modified By Daniel Buduru  on 8/3/2009 12:15:23 AM)
In selectul din SQLEXEC :

SELECT CAST([denumirea firmei] as varchar(254)) as denumire_firma, CASE WHEN LEN([denumirea firmei]) >254 THEN 1 ELSE 0 END as lungime_peste_254 FROM .....



Daniel Buduru
 8/3/2009 5:06:30 PM
User is offlineNatalia
3 posts


Re: Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A)

Va multumesc pentru ajutor. Cu aceasta ocazie am incercat sa folosesc in selectul  din SQLEXEC in loc de functia CAST()   functia left(denumire,254) si am observat ca  merge si aceasta varianta.

Natalia

 8/6/2009 9:51:57 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Extragere date din SQL Server si conversie campuri varchar cu lungime >254 la memo
 (N/A)
LEFT returneaza varchar, la fel ca si CAST.
Lucrand insa cu o baza de date asupra careia nu ai control, ar fi bine sa vezi si nota de la Remarks din help pentru LEFT (Transact-SQL).
http://msdn.microsoft.com/en-us/library/ms177601.aspx


Daniel Buduru
  Visual FoxPro  Client/Server  Extragere date ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement