<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Fox4um - Cursor Adapter Hk.]]></title>
	<link rel="self" href="http://www.fox4um.com/feed/atom/topic/1527/"/>
	<updated>2010-02-08T17:38:22Z</updated>
	<generator>PunBB</generator>
	<id>http://www.fox4um.com/topic/1527/cursor-adapter-hk/</id>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9466/#p9466"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>metin yazdı:</cite><blockquote><div class="quotebox"><cite>cetinbasoz yazdı:</cite><blockquote><p>
<br />Metin,
<br />UniqueIdentifier olmasi, primary key&#039;i gereksiz kilmiyor. ...</p></blockquote></div><p>
</p><p>her seferinde newid ile değer aldığında aynı değerin tekrar oluşmasının imkansız farzedildiğini sen söylemiştin. ben ordan yola çıkarak gereksiz dedim.</p></blockquote></div><p>
</p><p>Orasi dogru da, demek istedigim UniqueIdentifier bir data tipi. O kolondakilerin unique olacagini belirtmiyor. Mesela:
</p><p>XYZ diye bir kod olsun, dunyada bir esi daha yok. Bunu 
</p><p>XYZ, XYZ sirketi 
</p><p>diye kullandigimda XYZ primary key olacaksa PK oldugunu belirtmem gerek.
</p><p>XYZ, 4 yumurta
<br />XYZ, 1 ekmek
<br />...
</p><p>gibi harket dosyasinda ise XYZ N kere gecebilir. N kere gecmesi onun datatipinin UniqueIdentifier olmasini engellemez (baska bir sekilde soylemek gerekirse UniqueIdentifier demek 128 bit integer demek ama Unique demek degil - NewID() yenisini olusturan fonksiyon. Bir kere olusturdugunu bir daha olusturmuyor. 
<br />Sanki dev bir cekilis kuresinden dunyada N tane var, iclerinde 128 bitle ifade edilecek sayida numaralanmis toplar. Icinden bir numarayi ayni anda N tane yerde cekiyoruz. Cekilen numaralarin ayni olma sansi var ama milli piyangoda ikramiye cikma sansindan cok daha az).</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T17:38:22Z</updated>
			<id>http://www.fox4um.com/post/9466/#p9466</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9465/#p9465"/>
			<content type="html"><![CDATA[<p>ozaman SQL tarafli oluyor bu cozum <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />&nbsp; ben vfp+sql olarakta kullanilabilmesi icin olmazsa olmazlar listesine dahil etmistim</p>]]></content>
			<author>
				<name><![CDATA[soykanozcelik]]></name>
				<uri>http://www.fox4um.com/user/4/</uri>
			</author>
			<updated>2010-02-08T16:40:59Z</updated>
			<id>http://www.fox4um.com/post/9465/#p9465</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9464/#p9464"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>soykanozcelik yazdı:</cite><blockquote><p>...
<br />sipnolar konusunda aslinda o sipno degilde sipislemno olsa daha iyi olurdu <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> siparis dedigin gibi char daha mantikli .
<br />sipislemno identity yerine sequantil olabilecek sen ne onerirsin?</p></blockquote></div><p>
</p><p>ben o tür bir alanı primary key veya unique yaparım. karakteri alıp nümeriğe çevirip bir arttırıp tekrar karaktere çeviriyorum. başında harfler varsa o harfleri bozmadan tabii. kaydı eklemeye çalışıyorum. eğer ekleyemezsem demek ki başkası benden önce davranmış. bir daha arttırıyorum.</p>]]></content>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/39/</uri>
			</author>
			<updated>2010-02-08T16:33:00Z</updated>
			<id>http://www.fox4um.com/post/9464/#p9464</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9463/#p9463"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>cetinbasoz yazdı:</cite><blockquote><p>
<br />Metin,
<br />UniqueIdentifier olmasi, primary key&#039;i gereksiz kilmiyor. ...</p></blockquote></div><p>
</p><p>her seferinde newid ile değer aldığında aynı değerin tekrar oluşmasının imkansız farzedildiğini sen söylemiştin. ben ordan yola çıkarak gereksiz dedim.</p>]]></content>
			<author>
				<name><![CDATA[metin]]></name>
				<uri>http://www.fox4um.com/user/39/</uri>
			</author>
			<updated>2010-02-08T16:21:17Z</updated>
			<id>http://www.fox4um.com/post/9463/#p9463</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9462/#p9462"/>
			<content type="html"><![CDATA[<p>Yanlis anlamissin. SQLOpenTable()&#039;da path yok.</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T16:14:17Z</updated>
			<id>http://www.fox4um.com/post/9462/#p9462</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9461/#p9461"/>
			<content type="html"><![CDATA[<p>2- icin sadece SQL tarafli olacaksa evet dogru 
</p><p>1- 
<br />SQLInsert( ... )
</p><p>SQLNonQuery( ... )
</p><p>with SQLQuery( m.lcSQL )
<br />...
<br />endwith 
</p><p>bunları biliyorum uygulamanin herhangi bir yerinde kullanabiliyoruz
</p><p>with SQLOpenTable(addbs(m.mypath)+&#039;Customer&#039;)
<br />&nbsp; ...
<br />endwith 
</p><p>i form load da kullanmamiz DE de kullandigimizla ayni sonuca goturuyorsa bizi okey ama bu yine bana sadece SQL tarafli oldugu zaman icin cozum gibi geldi yoksa yanlis mi anladim.</p>]]></content>
			<author>
				<name><![CDATA[soykanozcelik]]></name>
				<uri>http://www.fox4um.com/user/4/</uri>
			</author>
			<updated>2010-02-08T15:50:45Z</updated>
			<id>http://www.fox4um.com/post/9461/#p9461</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9460/#p9460"/>
			<content type="html"><![CDATA[<p>Jenerik ornek:
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br />2
<br />3
<br />4
<br />5
<br />6
<br />7
<br />8
<br />9
<br />10
<br />11
<br />12
<br />13
<br />14
<br />15
<br />16
<br />17
<br />18
<br />19
<br />20
<br />21
<br />22
<br />23
<br />24
<br />25
<br />26
<br />27
<br />28
<br />29
<br />30
<br />31
<br />32
<br />33
<br />34
<br />35
<br />36
<br />37
<br />38
<br />39
<br />40
<br />41
<br />42
<br />43
<br />44
<br />45
<br />46
<br />47
<br />48
<br />49
<br />50
<br />51
<br />52
<br />53
<br />54
<br />55
<br />56
<br />57
<br />58
<br />59
<br />60
<br />61
<br />62
<br />63
<br />64
<br />65
<br />66
<br />67
<br />68
<br />69
<br />70
<br />71
<br />72
<br />73
<br />74
<br />75
<br />76
<br />77
<br />78
<br />79
<br />80
<br />81
<br />82
<br />83
<br />84
<br />85
<br />86
<br />87
<br />88
<br />89
<br />90
<br />91
<br />92
<br />93
<br />94
<br />95
<br />96
<br />97
<br />98
<br />99
<br />100
<br />101
<br />102
<br />103
<br />104
<br />105
<br />106
<br />107
<br />108
<br />109
<br />110
<br />111
<br />112
<br />113
<br />114
<br />115
<br />116
<br />117
<br />118
<br />119
<br />120
<br />121
<br />122
<br />123
<br />124
<br />125
<br />126
<br />127
<br />128
<br />129
<br />130
<br />131
<br />132
<br />133
<br />134
<br />135
<br />136
<br />137
<br />138
<br />139
<br />140
<br />141
<br />142
<br />143
<br />144
<br />145
<br />146
<br />147
<br />148
<br />149
<br />150
<br />151
<br />152
<br />153
<br />154
<br />155
<br />156
<br />157
<br />158
<br />159
<br />160
<br />161
<br />162
<br />163
<br />164
<br /></pre></td><td class="de1"><pre class="de1"><span class="kw1">Local</span> loCursor<span class="sy0">,</span> lcConStr
<br /><span class="co2">*!* &nbsp; &nbsp;lcConStr = 'Driver={SQL Native Client};Trusted_connection=Yes;Server=.'</span>
<br /><span class="co2">*!* &nbsp; &nbsp;loCursor = Newobject('CaGeneric','cageneric.prg','','ODBC',m.lcConStr)</span>
<br />&nbsp;
<br />lcConStr <span class="sy0">=</span> 'Provider<span class="sy0">=</span>SQLNCLI<span class="sy0">;</span>Trusted_connection<span class="sy0">=</span>Yes<span class="sy0">;</span>Server<span class="sy0">=.</span>\SQLExpress'
<br />loCursor <span class="sy0">=</span> <span class="kw3">Newobject</span><span class="br0">&#40;</span>'CaGeneric'<span class="sy0">,</span>''<span class="sy0">,</span>''<span class="sy0">,</span>'ADO'<span class="sy0">,</span>m<span class="sy0">.</span><span class="me1">lcConStr</span><span class="br0">&#41;</span>
<br />&nbsp;
<br /><span class="kw1">With</span> loCursor
<br />&nbsp; <span class="sy0">.</span><span class="kw3">Alias</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">=</span> 'myTable'
<br />&nbsp; <span class="kw1">TEXT</span> <span class="kw3">TO</span> <span class="sy0">.</span><span class="me1">SelectCmd</span> &nbsp;<span class="kw3">noshow</span>
<br /><span class="kw2">SELECT</span> <span class="sy0">*</span> <span class="kw2">FROM</span> NorthWind<span class="sy0">..</span><span class="me1">Customers</span> cus <span class="kw3">WHERE</span> country <span class="sy0">=</span> <span class="sy0">?</span>m<span class="sy0">.</span><span class="me1">Country</span>
<br />&nbsp; <span class="kw1">ENDTEXT</span>
<br /><span class="kw1">ENDWITH</span>
<br />&nbsp;
<br />Country <span class="sy0">=</span> '<span class="kw2">USA</span>'
<br /><span class="kw1">If</span> loCursor<span class="sy0">.</span><span class="me1">QueryFill</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; <span class="kw2">Select</span> <span class="br0">&#40;</span>loCursor<span class="sy0">.</span><span class="kw3">Alias</span><span class="br0">&#41;</span>
<br />&nbsp;
<br />&nbsp; loCursor<span class="sy0">.</span><span class="me1">MakeUpdatable</span><span class="br0">&#40;</span>'NorthWind<span class="sy0">..</span><span class="me1">Customers</span>'<span class="sy0">,</span>'customerId'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">Browse</span> <span class="kw2">Last</span>
<br />&nbsp; <span class="kw2">Tableupdate</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,.</span><span class="kw3">T</span><span class="sy0">.,</span>loCursor<span class="sy0">.</span><span class="kw3">Alias</span><span class="br0">&#41;</span>
<br /><span class="kw1">Endif</span>
<br />&nbsp;
<br />&nbsp;
<br />Country <span class="sy0">=</span> 'UK'
<br /><span class="kw1">If</span> loCursor<span class="sy0">.</span><span class="me1">QueryFill</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; <span class="kw2">Select</span> <span class="br0">&#40;</span>loCursor<span class="sy0">.</span><span class="kw3">Alias</span><span class="br0">&#41;</span>
<br />&nbsp;
<br />&nbsp; loCursor<span class="sy0">.</span><span class="me1">MakeUpdatable</span><span class="br0">&#40;</span>'NorthWind<span class="sy0">..</span><span class="me1">Customers</span>'<span class="sy0">,</span>'customerId'<span class="br0">&#41;</span>
<br />&nbsp; <span class="kw1">Browse</span> <span class="kw2">Last</span>
<br />&nbsp; <span class="kw2">Tableupdate</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,.</span><span class="kw3">T</span><span class="sy0">.,</span>loCursor<span class="sy0">.</span><span class="kw3">Alias</span><span class="br0">&#41;</span>
<br /><span class="kw1">Endif</span>
<br />&nbsp;
<br />&nbsp;
<br /><span class="kw1">Define</span> <span class="kw3">Class</span> CaGeneric <span class="kw2">As</span> CursorAdapter
<br />&nbsp; CompareMemo <span class="sy0">=</span> <span class="sy0">.</span><span class="kw2">F</span><span class="sy0">.</span>
<br />&nbsp; <span class="me1">FetchAsNeeded</span> <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; <span class="kw1">FetchSize</span> <span class="sy0">=</span> <span class="nu0">100</span>
<br />&nbsp; <span class="kw1">FetchMemo</span> <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; <span class="kw1">BatchUpdateCount</span> <span class="sy0">=</span> <span class="nu0">100</span>
<br />&nbsp; <span class="kw2">WhereType</span> <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; AllowSimultaneousFetch <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; <span class="me1">MapVarchar</span> <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; <span class="me1">MapBinary</span> <span class="sy0">=</span> <span class="sy0">.</span><span class="kw3">T</span><span class="sy0">.</span>
<br />&nbsp; <span class="kw3">BufferModeOverride</span> <span class="sy0">=</span> <span class="nu0">5</span>
<br />&nbsp; <span class="co2">*!* &nbsp; &nbsp; &nbsp;* &nbsp;Nodata = .T.</span>
<br />&nbsp; Handle <span class="sy0">=</span> <span class="nu0">0</span>
<br />&nbsp;
<br />&nbsp; <span class="kw1">Procedure</span> AutoOpen
<br />&nbsp; &nbsp; <span class="kw1">If</span> <span class="kw3">Not</span> <span class="kw2">Pemstatus</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">,</span> '__VFPSetup'<span class="sy0">,</span> <span class="nu0">5</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw3">AddProperty</span><span class="br0">&#40;</span>'__VFPSetup'<span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw3">Init</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; <span class="kw1">Endproc</span>
<br />&nbsp;
<br />&nbsp; <span class="kw1">Procedure</span> <span class="kw3">Init</span><span class="br0">&#40;</span>tcType<span class="sy0">,</span>tcConnectionString<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Local</span> llReturn
<br />&nbsp; &nbsp; <span class="kw1">Do</span> <span class="kw1">Case</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw3">Not</span> <span class="kw2">Pemstatus</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">,</span> '__VFPSetup'<span class="sy0">,</span> <span class="nu0">5</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw3">AddProperty</span><span class="br0">&#40;</span>'__VFPSetup'<span class="sy0">,</span> <span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">2</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">2</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">0</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">Return</span>
<br />&nbsp; &nbsp; <span class="kw1">Endcase</span>
<br />&nbsp; &nbsp; <span class="kw2">Set</span> <span class="kw2">Multilocks</span> <span class="kw2">On</span>
<br />&nbsp; &nbsp; llReturn <span class="sy0">=</span> <span class="kw1">DoDefault</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span> <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">tcType</span>
<br />&nbsp;
<br />&nbsp; &nbsp; <span class="kw2">Store</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span> <span class="kw3">To</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">this</span><span class="sy0">.</span><span class="me1">InsertCmdDataSourceType</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">this</span><span class="sy0">.</span><span class="me1">UpdateCmdDataSourceType</span><span class="sy0">,</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">this</span><span class="sy0">.</span><span class="me1">DeleteCmdDataSourceType</span>
<br />&nbsp;
<br />&nbsp; &nbsp; <span class="sy0">***&lt;</span>DataSource<span class="sy0">&gt;</span>
<br />&nbsp; &nbsp; <span class="kw1">Do</span> <span class="kw1">Case</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">Upper</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="st0">&quot;ODBC&quot;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">Handle</span> <span class="sy0">=</span> <span class="kw2">Sqlstringconnect</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tcConnectionString</span><span class="br0">&#41;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">Store</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">Handle</span> <span class="kw3">To</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">Datasource</span><span class="sy0">,;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">InsertCmdDataSource</span><span class="sy0">,;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">UpdateCmdDataSource</span><span class="sy0">,;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DeleteCmdDataSource</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">Upper</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="st0">&quot;ADO&quot;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">Local</span> loConnDataSource
<br />&nbsp; &nbsp; &nbsp; &nbsp; loConnDataSource <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'ADODB<span class="sy0">.</span><span class="kw2">Connection</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">***&lt;</span>DataSource<span class="sy0">&gt;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; loConnDataSource<span class="sy0">.</span><span class="me1">ConnectionString</span> <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">tcConnectionString</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">***&lt;/</span>DataSource<span class="sy0">&gt;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; loConnDataSource<span class="sy0">.</span><span class="kw2">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">Datasource</span> <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'ADODB<span class="sy0">.</span><span class="me1">RecordSet</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">Datasource</span><span class="sy0">.</span><span class="me1">CursorLocation</span> &nbsp; <span class="sy0">=</span> <span class="nu0">3</span> &nbsp;<span class="sy0">&amp;&amp;</span> adUseClient
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">Datasource</span><span class="sy0">.</span><span class="me1">LockType</span> &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">=</span> <span class="nu0">3</span> &nbsp;<span class="sy0">&amp;&amp;</span> adLockOptimistic
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">Datasource</span><span class="sy0">.</span><span class="me1">ActiveConnection</span> <span class="sy0">=</span> loConnDataSource
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">***</span> <span class="kw1">End</span> <span class="kw3">of</span> <span class="kw2">Select</span> <span class="kw2">connection</span> code<span class="sy0">:</span> <span class="kw1">DO</span> <span class="kw3">NOT</span> <span class="kw2">REMOVE</span>
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; &nbsp; loCommand <span class="sy0">=</span> <span class="kw1">Createobject</span><span class="br0">&#40;</span>'ADODB<span class="sy0">.</span><span class="kw2">Command</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; loCommand<span class="sy0">.</span><span class="me1">ActiveConnection</span> <span class="sy0">=</span> loConnDataSource
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw3">AddProperty</span><span class="br0">&#40;</span>'oCommand'<span class="sy0">,</span>loCommand<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">UpdateCmdDataSource</span><span class="sy0">=</span>loCommand
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">InsertCmdDataSource</span><span class="sy0">=</span>loCommand
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DeleteCmdDataSource</span><span class="sy0">=</span>loCommand
<br />&nbsp;
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">Upper</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span><span class="br0">&#41;</span><span class="sy0">=</span><span class="st0">&quot;NATIVE&quot;</span> <span class="sy0">&amp;&amp;</span> <span class="kw3">Not</span> implemented
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Case</span> <span class="kw2">Upper</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span><span class="br0">&#41;</span><span class="sy0">=</span><span class="st0">&quot;XML&quot;</span> &nbsp;<span class="sy0">&amp;&amp;</span> <span class="kw3">Not</span> implemented
<br />&nbsp; &nbsp; <span class="kw1">Endcase</span>
<br />&nbsp; &nbsp; <span class="sy0">***&lt;/</span>DataSource<span class="sy0">&gt;</span>
<br />&nbsp;
<br />&nbsp; &nbsp; <span class="kw1">If</span> <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">1</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span>__VFPSetup <span class="sy0">=</span> <span class="nu0">2</span>
<br />&nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> llReturn
<br />&nbsp; <span class="kw1">Endproc</span>
<br />&nbsp;
<br />&nbsp; <span class="kw1">Procedure</span> MakeUpdatable<span class="br0">&#40;</span>tcTableName<span class="sy0">,</span>tckeyField<span class="sy0">,</span>tlDoNotIncludeKey<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw3">Tables</span> <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">tcTableName</span>
<br />&nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw1">KeyFieldList</span> <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">tckeyField</span>
<br />&nbsp; &nbsp; <span class="kw1">Local</span> ix<span class="sy0">,</span> lnUpdateableFCount
<br />&nbsp; &nbsp; lnUpdateableFCount <span class="sy0">=</span> <span class="kw1">Fcount</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="kw3">Alias</span><span class="br0">&#41;</span><span class="sy0">-</span><span class="kw1">Iif</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span><span class="sy0">=</span>'ADO'<span class="sy0">,</span><span class="nu0">1</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="kw2">last</span> one <span class="kw2">is</span> ADOBOOKMARK
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix <span class="sy0">=</span> <span class="nu0">1</span> <span class="kw3">To</span> m<span class="sy0">.</span><span class="me1">lnUpdateableFCount</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="sy0">!</span>m<span class="sy0">.</span><span class="me1">tlDoNotIncludeKey</span> <span class="kw3">Or</span> <span class="sy0">!</span><span class="br0">&#40;</span><span class="kw2">Upper</span><span class="br0">&#40;</span><span class="kw2">Field</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">ix</span><span class="sy0">,</span><span class="kw2">This</span><span class="sy0">.</span><span class="kw3">Alias</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="kw2">Upper</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">tckeyField</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdatableFieldList</span> <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdatableFieldList</span> <span class="sy0">+</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw4">Empty</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdatableFieldList</span><span class="br0">&#41;</span><span class="sy0">,</span>''<span class="sy0">,</span>'<span class="sy0">,</span>'<span class="br0">&#41;</span> <span class="sy0">+</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">FIELD</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">ix</span><span class="sy0">,</span><span class="kw2">This</span><span class="sy0">.</span><span class="kw3">Alias</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdateNameList</span> <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdateNameList</span> <span class="sy0">+</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">IIF</span><span class="br0">&#40;</span><span class="kw4">Empty</span><span class="br0">&#40;</span><span class="kw2">This</span><span class="sy0">.</span><span class="kw2">UpdateNameList</span><span class="br0">&#41;</span><span class="sy0">,</span>''<span class="sy0">,</span>'<span class="sy0">,</span>'<span class="br0">&#41;</span> <span class="sy0">+</span> <span class="sy0">;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">TEXTMERGE</span><span class="br0">&#40;</span>'<span class="sy0">&lt;&lt;</span>FIELD<span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">ix</span><span class="sy0">,</span><span class="kw2">this</span><span class="sy0">.</span><span class="kw3">Alias</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">&gt;&gt;</span> <span class="sy0">&lt;&lt;</span>m<span class="sy0">.</span><span class="me1">tcTableName</span><span class="sy0">&gt;&gt;.&lt;&lt;</span>FIELD<span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">ix</span><span class="sy0">,</span><span class="kw2">this</span><span class="sy0">.</span><span class="kw3">Alias</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">&gt;&gt;</span>'<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; <span class="kw1">Endproc</span>
<br />&nbsp;
<br />&nbsp; <span class="kw1">Procedure</span> QueryFill<span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Local</span> llSuccess
<br />&nbsp; &nbsp; <span class="kw1">If</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span> <span class="sy0">=</span><span class="st0">&quot;ADO&quot;</span>
<br />&nbsp; &nbsp; &nbsp; llSuccess <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">CursorFill</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="kw2">F</span><span class="sy0">.,.</span><span class="kw2">F</span><span class="sy0">.,</span><span class="nu0">0</span><span class="sy0">,</span><span class="kw2">This</span><span class="sy0">.</span><span class="me1">oCommand</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Else</span>
<br />&nbsp; &nbsp; &nbsp; llSuccess <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">CursorFill</span><span class="br0">&#40;</span><span class="sy0">.</span><span class="kw2">F</span><span class="sy0">.</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; <span class="kw1">If</span> <span class="sy0">!</span>m<span class="sy0">.</span><span class="me1">llSuccess</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">If</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">DataSourceType</span> <span class="sy0">=</span><span class="st0">&quot;ADO&quot;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcMessage <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">oCommand</span><span class="sy0">.</span><span class="me1">CommandText</span> <span class="sy0">+</span> <span class="kw1">CHR</span><span class="br0">&#40;</span><span class="nu0">13</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">GetErrorExplanation</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">ELSE</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; lcMessage <span class="sy0">=</span> <span class="kw2">This</span><span class="sy0">.</span><span class="me1">GetErrorExplanation</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">endif</span> &nbsp; &nbsp;
<br />&nbsp; &nbsp; &nbsp; <span class="kw2">Messagebox</span><span class="br0">&#40;</span>m<span class="sy0">.</span><span class="me1">lcMessage</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Endif</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> m<span class="sy0">.</span><span class="me1">llSuccess</span>
<br />&nbsp; <span class="kw1">Endproc</span>
<br />&nbsp;
<br />&nbsp; <span class="kw1">Procedure</span> GetErrorExplanation
<br />&nbsp; &nbsp; <span class="kw1">Local</span> lcError<span class="sy0">,</span>ix
<br />&nbsp; &nbsp; <span class="kw1">Local</span> <span class="kw2">Array</span> aWhy<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>
<br />&nbsp; &nbsp; <span class="kw1">Aerror</span><span class="br0">&#40;</span>aWhy<span class="br0">&#41;</span>
<br />&nbsp; &nbsp; lcError <span class="sy0">=</span> <span class="st0">&quot;&quot;</span>
<br />&nbsp; &nbsp; <span class="kw1">For</span> ix <span class="sy0">=</span> <span class="nu0">1</span> <span class="kw3">To</span> <span class="nu0">7</span>
<br />&nbsp; &nbsp; &nbsp; lcError <span class="sy0">=</span> m<span class="sy0">.</span><span class="me1">lcError</span> <span class="sy0">+</span> <span class="kw2">Transform</span><span class="br0">&#40;</span>aWhy<span class="br0">&#91;</span>m<span class="sy0">.</span><span class="me1">ix</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="kw1">Chr</span><span class="br0">&#40;</span><span class="nu0">13</span><span class="br0">&#41;</span>
<br />&nbsp; &nbsp; <span class="kw1">Endfor</span>
<br />&nbsp; &nbsp; <span class="kw2">Return</span> m<span class="sy0">.</span><span class="me1">lcError</span>
<br />&nbsp; <span class="kw1">Endproc</span>
<br /><span class="kw1">Enddefine</span></pre></td></tr></tbody></table></div>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:37:32Z</updated>
			<id>http://www.fox4um.com/post/9460/#p9460</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9459/#p9459"/>
			<content type="html"><![CDATA[<p>Gerekmiyor.
</p><p>with SQLOpenTable(&#039;Customer&#039;)
<br />&nbsp; ...
<br />endwith
</p><p>SQLInsert( ... )
</p><p>SQLNonQuery( ... )
</p><p>with SQLQuery( m.lcSQL )
<br /> ... 
<br />endwith
</p><p>2) Iki tarafta da olmak zorunda degil demek istedigim. Belki sadece SQL server bazli bir projedir:)</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:35:23Z</updated>
			<id>http://www.fox4um.com/post/9459/#p9459</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9458/#p9458"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>cetinbasoz yazdı:</cite><blockquote><p>Soykan,
<br />Olmazsa olmaz maddeleri 1 ve 2 benim verdiklerim ile ilgili degil sanirim. Bende oyle bir kisitlama yok, hatta tersi tesvik ediliyor:)</p></blockquote></div><p>
</p><p>sonucta class larin basarili olarak calisabilmesi icin tablolarin DE de olmasi gerekmiyormu ? ayrica tablo ve field adlari ayni olmak zorunda degilmi VFP ve SQL tarafında?
</p><p>1 ve 2 de bunlari anlatmaya calistim tersi olabiliyorsa bu arada öğrenmis olurum <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></content>
			<author>
				<name><![CDATA[soykanozcelik]]></name>
				<uri>http://www.fox4um.com/user/4/</uri>
			</author>
			<updated>2010-02-08T15:25:14Z</updated>
			<id>http://www.fox4um.com/post/9458/#p9458</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9457/#p9457"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>metin yazdı:</cite><blockquote><p>Soykan, 
<br />bir iki eleştiri:
<br />myguid alanının tipini &quot;uniqueidentifier&quot; olarak tanıtsaydın daha az yer kaplardı. 
<br />ayrıca bu alanı primary key yapman gereksiz. çünkü zaten eşsiz oluyor. ben olsam sipno yu primary key yapardım. Ha bir de sipno yu ben şahsen int değil karakter yapardım. mesela A000000001 diye bir sipariş no da vermek isteyebilir kullanıcı. ayrıca sipno&#039;yu identity yapmazdım. çünkü kullanıcı atlamalar veya geriye dönmeler yapmak isteyebilir.</p></blockquote></div><p>
</p><p>Metin,
<br />UniqueIdentifier olmasi, primary key&#039;i gereksiz kilmiyor. UniqueIdentifier sadece data tipi, yaratildiktan sonra ayni kolonda essiz olmasinin garantisi yok (eger primary key, unique gibi bir constraint kullanmazsan). Mesela &#039;child&#039; tablolarda foreign key olarak kullanilan kolon da uniqueidentifier.
</p><p>Ben myGUID&#039;i uniqueIdentiifer ve Primary key yapardim:) Kullanicinin girebilecegi degerlerin PK olmasina karsiyim. SipNo gibi degerler clustered index ve Unique olabilir ama Primary Key olmasina serh koyuyorum:)</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:20:09Z</updated>
			<id>http://www.fox4um.com/post/9457/#p9457</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9456/#p9456"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>ugurlu2001 yazdı:</cite><blockquote><p>Üstat, sen açıklıyorsun ama böyle kısacık da açıklanmaz ki.
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br /></pre></td><td class="de1"><pre class="de1">CA'da UseTransactions propertysini <span class="sy0">.</span><span class="kw2">F</span><span class="sy0">.</span> <span class="me1">yapip</span> kendin baslatip bitirebilirsin de<span class="sy0">.</span></pre></td></tr></tbody></table></div><p>
</p><p>Açıklaması ile bam teline bastın <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />
</p><p>O zaman bir soru daha :
<br />VFP tarafında Connection u açtıktan sonra aynı connection üzerinde&nbsp; 1 den fazla (2-3 yada dört .. ) Insert, Delete, Update işlemini bir tek TRansaction içerisinde yapabiliyoruz yani öylemi? Yani 1. işlemde Transaction u başlat, en sonuncuda bitir. Data bütünlüğü %100 garanti?
</p><p>Yoksa ben mi yanlış anladım...</p></blockquote></div><p>
</p><p>Kisaca evet. Ama CA ile SPT&#039;yi de cok karistirma. SPT&#039;de komutlar var. CA&#039;nin connectionu uzerinde de komutlar olabilir. Baska bir benzetme sekli:
</p><p>SPT ile aldigin cursor, CA cursor gibi dusun. CA arada kaynakla nasil haberlesecegini belirleyen adaptor sadece. Mesela sendeki kodlarin icerisinde SQLInsert.prg olacak. O sadece insert islemi icin. SPT&#039;deki Insert ... komutunu ADO ile yapiyor.</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:15:11Z</updated>
			<id>http://www.fox4um.com/post/9456/#p9456</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9455/#p9455"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>metin yazdı:</cite><blockquote><p>yalnız linq&#039;yu sadece ucundan inceledim ve şunu söyleyebilirim bizim cursor adapter hikaye. mesela foreign key olayı linq ile harika birşey haline geliyor. onları otomatik kullanıyor. birçok şeyi senden alıyor.</p></blockquote></div><p>
</p><p>&#039;Bizim cursoradapter hikaye&#039; <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> Ah Metin, bilsen ben VFP&#039;de nelerin hikaye oldugunu dusunmeye basladim. Bir taraftan yillarca VFP sayesinde ekmek yedik, diger taraftan eger o olmasaymis gozum daha once acilabilirmis diye dusunuyorum bazen. Cok fazla 2D dusundurtmus beni:) Hainmiyim neyim.</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:07:03Z</updated>
			<id>http://www.fox4um.com/post/9455/#p9455</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9454/#p9454"/>
			<content type="html"><![CDATA[<p>Soykan,
<br />Olmazsa olmaz maddeleri 1 ve 2 benim verdiklerim ile ilgili degil sanirim. Bende oyle bir kisitlama yok, hatta tersi tesvik ediliyor:)</p>]]></content>
			<author>
				<name><![CDATA[cetinbasoz]]></name>
				<uri>http://www.fox4um.com/user/11/</uri>
			</author>
			<updated>2010-02-08T15:02:38Z</updated>
			<id>http://www.fox4um.com/post/9454/#p9454</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9453/#p9453"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>metin yazdı:</cite><blockquote><p>Soykan, 
<br />bir iki eleştiri:
<br />myguid alanının tipini &quot;uniqueidentifier&quot; olarak tanıtsaydın daha az yer kaplardı. 
<br />ayrıca bu alanı primary key yapman gereksiz. çünkü zaten eşsiz oluyor. ben olsam sipno yu primary key yapardım. Ha bir de sipno yu ben şahsen int değil karakter yapardım. mesela A000000001 diye bir sipariş no da vermek isteyebilir kullanıcı. ayrıca sipno&#039;yu identity yapmazdım. çünkü kullanıcı atlamalar veya geriye dönmeler yapmak isteyebilir.</p></blockquote></div><p>
</p><p>cok fazla titiz dusunerek yapilmis bir ornek degil ancak MyGUID alanini VFP ve&nbsp; SQL de sadece mod degisikligi yaparak kullanabilmek icin oyle tutmak zorunda kaldim.
</p><p>sipnolar konusunda aslinda o sipno degilde sipislemno olsa daha iyi olurdu <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> siparis dedigin gibi char daha mantikli .
<br />sipislemno identity yerine sequantil olabilecek sen ne onerirsin?</p>]]></content>
			<author>
				<name><![CDATA[soykanozcelik]]></name>
				<uri>http://www.fox4um.com/user/4/</uri>
			</author>
			<updated>2010-02-08T14:59:17Z</updated>
			<id>http://www.fox4um.com/post/9453/#p9453</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Cursor Adapter Hk.]]></title>
			<link rel="alternate" href="http://www.fox4um.com/post/9452/#p9452"/>
			<content type="html"><![CDATA[<p>Üstat, sen açıklıyorsun ama böyle kısacık da açıklanmaz ki.
</p><div class="codebox"><div class="head">Visual Fox Pro</div><table class="visualfoxpro fxcode"><tbody><tr class="li1"><td class="ln"><pre class="de1">1
<br /></pre></td><td class="de1"><pre class="de1">CA'da UseTransactions propertysini <span class="sy0">.</span><span class="kw2">F</span><span class="sy0">.</span> <span class="me1">yapip</span> kendin baslatip bitirebilirsin de<span class="sy0">.</span></pre></td></tr></tbody></table></div><p>
</p><p>Açıklaması ile bam teline bastın <img src="http://www.fox4um.com/img/smilies/smile.png" width="15" height="15" alt="smile" />
</p><p>O zaman bir soru daha :
<br />VFP tarafında Connection u açtıktan sonra aynı connection üzerinde&nbsp; 1 den fazla (2-3 yada dört .. ) Insert, Delete, Update işlemini bir tek TRansaction içerisinde yapabiliyoruz yani öylemi? Yani 1. işlemde Transaction u başlat, en sonuncuda bitir. Data bütünlüğü %100 garanti?
</p><p>Yoksa ben mi yanlış anladım...</p>]]></content>
			<author>
				<name><![CDATA[ugurlu2001]]></name>
				<uri>http://www.fox4um.com/user/30/</uri>
			</author>
			<updated>2010-02-08T14:58:22Z</updated>
			<id>http://www.fox4um.com/post/9452/#p9452</id>
		</entry>
</feed>

