Bilgisayar Mühendisliği

• 30/10/2007 - c# adres

http://freecomputerbooks.com/
http://www.csharpnedir.com/makalegoster.asp?MId=48
http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson01.aspx
http://www.c-sharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=131
http://www.codersource.net/csharp_adonet_tutorial_ed.html
http://www.iam.unibe.ch/~scg/Archive/OOSC/index.html
http://www.yazgelistir.com/Makaleler/makaleler.aspx?KatId=1000000001&Kat=ADO.NET
http://www.programlama.com/sys/c2html/view.php3?DocID=1693
http://www.sitepoint.com/article/introduction-ado-net/2

Yorum (yok) :: Yorum yaz! :: Bağlantı

• 29/10/2007 - Gözyaşartan mektup

Gözyaşartan mektup

 

Türkiye Cumhuriyeti bundan tam 84. yıl önce Türkler, Kürtler, Lazlar, Çerkezler kısacası Osmanlı bayrağı altında yüzyıllarca birlikte yaşamış farklı etnik kökenlerden insanlar tarafından kuruldu.

 

Ne var ki 84 yıl önce bu topraklarda istediklerini gerçekleştiremeyen dahili ve harici düşmanlar bugün bir kez daha atağa kalkmış durumdalar. Amaçları bu ülkenin mozağini parçalamak. bunun için de en hain yöntemi "terörü" kullanıyorlar. İşte böyle bir dönemde Samanyolu Haber terör örgütü tarafından bombacı olarak yetiştirilen bir gencin itiraflarını yayınlıyor.

 

Bakın kandırılmış genç kanlı bir eylemi gerçekleştirmekten nasıl vazgeçiyor?

 

 

 

Oğlunun terör örgütüne katılacağından şüphelenen Vanlı babanın içi içini yiyor. Öz evladının örgüt tarafından türlü vaadlerle kandırıldığını hissediyor ancak ne yapacağını bilemiyor. Propagandanın baskısıyla algısı kapalı oğlunu ikna edemeyeceğini anlayan baba, bir gün onu çaığıyor ve evladına kısa bir vasiyette bulunuyor.

 

"OĞLUM, BİR GÜN BU ÜLKEYE İHANET ETME DÜŞÜNCESİ AKLINDAN GEÇERSE, ÖNCE ÇANAKKALE'YE GİT, ORADA YATAN ŞEHİT DEDENİN MEZARINI BUL, ONA BİR FATİHA OKU, ONDAN SONRA NE YAPARSAN YAP.

 

Genç o zaman bu sözlerin ne anlama geldiğini pek anlamıyor. Umursamıyor da. Aklı fikri dağa çıkmak, örgüte katılmak düşüncesiyle dolu.

 

Derken genç örgüte katılmak üzere evinden ayrılıyor. Bu süreçte karşılaştığı bazı olayların kafasını karıştırdığı, yıllar sonra yazdığı bir mektuptan anlaşılıyor.

 

"İSTANBUL'A ÇALIŞMAYA GİDİYORUM" DİYE AİLEME YALAN SÖYLEMİŞ VE BİR BAŞKASININ ÜZERİNE ALDIĞIM PASAPORTLA YURTDIŞINA ÇIKMIŞTIM. İKİ AYRI ÜLKEDEN GEÇEREK ÖRGÜTE AİT HINERE KAMPINA GELMİŞTİM. DİKKATİMDEN HİÇ KAÇMAYAN ŞEY GİTTİĞİMİZ HER YERDE BİZLERİ DIŞ İSTİHBARAT ELEMANLARININ KARŞILAMASIYDI. HATTA HINERE KAMPINA BİZİ GÖTÜREN KURYE BİLE BİR İSTİHBARAT AJANIYDI."

 

Delikanlı örgüt tarafından kanlı eylemler yapmak üzere kurulan bir birime alınıyor. Birimin amacının büyük şehirlerde bombalı eylemler gerçekleştirmek olduğu belirtiliyor. Bir süre devam eden askeri ve siyasi eğitimin ardından, eylem zamanı geliyor.

Önce Tunceli kırsalına oradan da İstanbul'a geçen eleman, şehirde kaldığı sürede normal bir vatandaş gibi hareket ediyor. İstanbul'da yaklaşık 8 ay kalıyor ve bir gün örgütün kuryesi gence ulaşıyor. Kendisine 200 Euro para, Sigara paketine zulalanmış sekiz adet fünye ve aradığı zaman A4 patlayıcı gönderecek kişinin telefon numaraları veriliyor. Ve bir de eylem yapılacak yerin adresi.

 

Eleman eylemi yapması istenen yeri gördüğünde adeta şok oluyor.

 

''OKUDUĞUMDA KALBİMİ YERİNDEN ÇIKARACAKMIŞÇASINA HAREKETLENDİREN, DAMARLARIMDA AKAN KANI DURDURAN VE VÜCUDUMU BUZ KESEN EYLEM YERİ… BU YERİ NE BEN YAZAYIM NE DE SİZ OKUYUN, AMA BİR DÜŞÜNÜN, KENDİNE İNSANIM DİYEN HİÇBİR KİMSENİN AKLINDAN GEÇEMEYECEK BİR YER… 14 TEMMUZ İLE 15 AĞUSTOS TARİHLERİ ARASINDA BU EYLEMİ YAPMAMI İSTEMİŞLERDİ. ''

 

Eylemin yeri ve ortaya çıkacak sonuçlar elemanı kendisine getiriyor.

 

''BUNALMIŞTIM, KENDİMDEN, BULUNDUĞUM YERDEN, MÜMKÜN OLSA DÜNYADAN KAÇMAK, UZAKLAŞMAK İSTİYORUM. ÇARESİZLİK İÇİNDE BİR ÇIKIŞ YOLU ARARKEN BABAMIN VASİYETİ AKLIMA GELDİ. HEMEN ATLADIM VE ÇANAKKALE'YE GİTTİM. VAN'LI DEDEMİN MEZARINI BULACAKTIM. NİHAYET KABRİN BAŞINDAYDIM. OTURDUM, AĞLADIM, AĞLADIM, AĞLADIM…

 

Genç şehitlikte dedesinin ismini ararken çok önemli birşeyin farkına varıyor. Çanakkale'de bu ülkede yaşayan her etnik kökenden insanın isimleri yazıyor.

 

BULUNCAYA KADAR EPEY DOLAŞMIŞ VE ÜLKEMİZİN HEMEN HER YÖRESİNDEN ŞEHİT DÜŞEN DEDELERİMİZİN OLDUĞUNU GÖRMÜŞTÜM. YORULUNCAYA KADAR HEPSİNE FATİHA OKUDUM. GÜNEŞ BATMAK ÜZEREYDİ AMA BENİM İÇİM AYDINLANMIŞ VE FERAHLAMIŞTIM. BİR AN ÖNCE İSTANBUL'A DÖNMELİ VE TESLİM OLMALIYDIM.''

 

 

İşte bu pişmanlığın ardından polise teslim olan genç, emniyetteki iyi muameleden de ciddi bir biçimde etkileniyor. Ve cezaevinde kendisini sorgulayan polis memurlarına itiraf nevinden bu mektubu yazıyor.

 

''BU YAKLAŞIMINIZLA BENİ KAZANDIĞINIZ GİBİ BÜTÜN ÇEVREMİN DE GÜVENİNİ KAZANACAKSINIZ. HİKAYEMİ DİNLEYEN ABİ GÖZYAŞLARINA HAKİM OLAMADI VE BANA, "GİT BABANA SELAM SÖYLE, ONUN ELLERİNDEN DEĞİL AYAKLARINDAN ÖPÜYORUZ" DEDİ. SELAMINIZ BAŞIMIN BORCUDUR. ŞUNU BİLİN Kİ, YEREL HALK TERÖRDEN RAHATSIZ. ONLARI FAKİRLİĞİN PENÇESİNDEN KURTARIP İYİ BİR EĞİTİMDEN GEÇİRMEK, ŞİDDET VE TERÖRÜN KALICI ÇÖZÜMÜ OLACAKTIR. '' 

 

Yorum (yok) :: Yorum yaz! :: Bağlantı

• 23/8/2007 - LOGO LOBJECTS.DLL

LOGO LOBJECTS.DLL

LOGO için ek raporlar ve bazı destekliyici uygulama programları yazmam istendi. Raporlama konusunda sorun yoktu fakat logoya veri girişi kısmında dışarıdan müdahale etmenin bazı veri bütünlüklerini bozacağını düşündüğüm için ilk önce gözüme çarpan, Logo'nun menüleri içerinde bulunan XML veri aktarımıydı. Güzel, kullanışlı bir özellik. Fakat bazı işleri otomatikleştireyim dediğinizde orda durup kalıyorsunuz. Sonraları LOGO'da LOBJECTS.DLL olduğunu duydum internetten döküman v.s. araştırdım ilk olarak(Tekerleği baştan icad etmeye gerek yok :) ) fakat pek bir şey bulamadım. Bunu üzerine kendim uğraştım ve uğraşlarım sonucunda edindiğim bilgileri internete paylaşayım dedim.

Benim üzerinde çalıştığım Logo ürünü UNITY, bu versiyonda LOBJECT.DLL kullanım hakkı geliyor fakat Logo'nun diyer versiyonlarında mesela TIGER gibi ek lisans alınması gerektiğini duydum. Birinci olarak lisans durumunuzdan emin olun.
LOBJECTS.DLL çalışabilmesi için çalıştırılan makinada Logo'nunda çalışması gerekiyor. Logo kurulumu yapılmamış bir makinadan çalıştırmak mümkün değil. İkinci olarakta bu konuya dikkat etmek gerekiyor...
LOBJECT.DLL register edilerek işletim sistemine dahil etmek gerekiyor. Üçüncü olarak regsvr32 LOBJECT.DLL komutuyla register etmeniz gerekiyor...
LOBJECT.DLL nesnesini kullanmak için Delphi'yi kullandım. Siz C, VB v.b. dilleride kulllanabilirsiniz. Örneklerim Delphi üzerinden olacaktır. Register işleminiz başarılı ise Delphi açın ve Project menüsü altındaki Import type library seçin "unity object library" bilgisini seçin. "Install'a" bastığınızda, süprizzzzz :) TTable nesnesi zaten tanımlı hata mesajını alacaksınız işlem kesilecek. Pratik olarak ben "Install" yerine Create unit seçip oluşsan dosyanın en altında bulunan register yordamından hata veren nesneleri çıkarttım. Daha sonra "dclusr" içerisine elle ilave ettim. Insall işlemi bitince ActiveX Tab'ı altında Logo objelerini görmüş olacaksınız. En çok kullanacağınız nesne UnityApplicaiton nesnesi... TBL'yi install ettiğinizde ve bu nesnenin hangi özellikleri var diye baktığınızda benim anlatmama gerek kalmadan çoğu kısmını çözmüş olacaksınız.. :)
Örnekler:
unityApplication1.Login(username,password,firmano) bu fonksiyonu logo'ya giriş için kullanıyoruz.(işlem başarısız ise false döner) burda dikkat etmeniz gereken konu;Kullanıcı adı ve şifrenizin büyük/küçük harf bilgisine dikkat etmeniz. Özellikle kullanıcı adı zira, logo'nun kendi arayüzünde küçük yazsa bile kabul ediyorken bu fonksiyonda kabul etmiyor. Kullanıcı adı nasıl girildiyse aynısını yazmaya dikkat edin. Login aşamasındaki hata mesajını görmek isterseniz:UnityApplication1.GetlastErrorString kullanabilirsiniz.

Bu yazı

http://ozgurbalci.blogspot.com/2007_05_20_archive.html

adresinden aynen alıntı yapılmıştır.

Yorum (1) :: Yorum yaz! :: Bağlantı

• 14/8/2007 - SQL



TABLO OLUŞTURMA

 use yuksel

 insert into [ Yüzbaşı Tommiks ]
 (Values (3,4040,2222)

go

select * from [ Yüzbaşı Tommiks ]

--------------------------------------------------------
tablo oluşturma oluşturma

use yuksel2
create table kitap
(
    kitapNo int,
    kitapAd varchar(40),
    kitapFiyat int,
    basimTarihi datetime
)

--------------------------------------------------------
Yetki sınırlandırma

use yuksel2
deny select on kitap to public


--------------------------------------------------------
VERİ TABANI OLUŞTURMA

create database yuksel2

--------------------------------------------------------
Verilen Yetkiyi ve Sınırlandırmaları Kaldırma

use yuksel2
revoke select on kitap to public



--------------------------------------------------------
İzin verme

Use yuksel2
grant select on kitap to public

--------------------------------------------------------

use yuksel2

GRANT ALL ON kitap TO public

--------------------------------------------------------
use yuksel2

revoke all on kitap to public

--------------------------------------------------------
use yuksel2

GRANT SELECT, INSERT ON kitap TO public

--------------------------------------------------------
YENİ KAYIT EKLEME
use yuksel2
insert into kitap values(11,'Office 2005',40,'06/07/2008')
go
select * from kitap
go

--------------------------------------------------------
KAYIT GÜNCELLEME

use yuksel2
update kitap set kitapFiyat=kitapFiyat*1.15
go
select * from kitap

--------------------------------------------------------
TABLONUN BÜTÜN KAYITLARINI SİLER

use yuksel2
delete kitap
go
select * from kitap
go
--------------------------------------------------------

Lokal Değişken Tanımlama

Declare @lokalDegiskenAdi veritipi

KULLANIMI

Set @lokalDegiskenAdi=AtanacakDeger

veya

Select @lokalDegiskenAdi=AtanacakDeger from TabloAdi where kosul
--------------------------------------------------------

Aktif Olan Veritabanının İSMİ

Select DB_NAME() As Veritabani


--------------------------------------------------------
VERİ TİPİ DÖNÜŞÜMÜ

 Convert(varchar(30),1250)

--------------------------------------------------------
TARİH ALMAK İÇİN

GETDATE()

--------------------------------------------------------

TARİH FORMATINI VARCHARA DÖNÜŞTÜRME

SELECT 'AMERİKA:' AS millet,
CONVERT ( varchar(30), GETDATE(),101) AS yenitarih
UNION
SELECT 'TURK:', CONVERT (varchar(30), GETDATE(), 103)
UNION
SELECT 'AVRUPA:', CONVERT ( varchar(30), GETDATE(),113)
UNION
SELECT 'JAPON:', CONVERT ( varchar(30), GETDATE(),111)


--------------------------------------------------------
DATEFORMAT

use yuksel
SET DATEFORMAT dmy
go
DECLARE @d datetime
set @d='20/06/2007'
select * from Prestige
where tarih >@d

--------------------------------------------------------

Select DB_NAME(), USER_NAME(), APP_NAME(),COLUMNPROPERTY(OBJECT_ID('Prestige'),'ad', 'AllowsNull')

--------------------------------------------------------

DECLARE @kdv varchar(30)
DECLARE @fiyat money
SET @fiyat=500
SET @kdv='dahil'
IF @kdv='dahil'
BEGIN
SET @fiyat=@fiyat * 1.15
print CONVERT(varchar(30), @fiyat)
END
ELSE
print CONVERT(varchar(30), @fiyat)

--------------------------------------------------------

use yuksel
go
IF EXISTS(select ad from Prestige where ad='Pembe Dizi')
BEGIN
    DELETE Prestige where ad='Pembe Dizi'
    print 'Pembe Dizi Silindi'
END
Else
 print 'Böyle Bir Kitap Yok'

--------------------------------------------------------
BİR TABLO HAKKINDA BİLGİ EDİNME

Use yuksel
IF USER_NAME() <> 'dbo'
    BEGIN
            RAISERROR ('BUNUN İÇİN SİSTEM YETKİLİSİ OLMALISINIZ', 10,1)
            RETURN
    END
ELSE
    DBCC CHECKDB(yuksel)

--------------------------------------------------------

SELECT ad, [indirim oranı]=
case
when (sayfa>100 and sayfa <301) then '%10 indirim'
when (sayfa>300 and sayfa <601)  then '%15 indirim'
when (sayfa>600) then '%20 indirim'
else
'indirimsiz'
end
from yuksel..Prestige
--------------------------------------------------------

select ad, fiyat, [indirimli fiyat]=
case

when (sayfa>100 and sayfa<301)
then Convert (int, fiyat*0.9)
when (sayfa>300 and sayfa<601)
then Convert (int, fiyat*0.85)
when (sayfa>600 )
then Convert (int, fiyat*0.8)

end

from yuksel..Prestige
 



--------------------------------------------------------
TRANSACT-SQL İN DİNAMİK OLARAK KULLANIMI

declare @veritaban varchar(30), @tablo varchar(30)
set @veritaban='Launchpad'
set @tablo='Users'
execute
('use '+ @veritaban + ' select Firstname from ' +  @tablo)

--------------------------------------------------------
NULL alan içeren kayıtları sıralama

use yuksel
execute ('SET NOCOUNT ON '+ 'SELECT ad, fiyat from Prestige where ad is null')


--------------------------------------------------------

use yuksel
set nocount on
select ad
from Prestige
go
select ad
from Prestige where kitapno>26

--------------------------------------------------------

(14 row(s) affected)

(2 row(s) affected)


use yuksel
set nocount off
select ad
from Prestige
go
select ad
from Prestige where kitapno>26


--------------------------------------------------------
TRANSACTION

BEGIN TRANSACTION
UPDATE Prestige SET fiyat=fiyat *1.20
WHERE sayfa>100 and sayfa <301
    IF @@ERROR<> 0
        BEGIN
            RAISERROR ('HATA OLUŞTU',16,-1)
            ROLLBACK TRANSACTION
            RETURN
        END
UPDATE Prestige SET fiyat=fiyat*1.10
WHERE sayfa>301 and sayfa <601
    IF @@ERROR<> 0
        BEGIN
            RAISERROR ('HATA OLUŞTU',16,-1)
            ROLLBACK TRANSACTION
            RETURN
        END
UPDATE Prestige SET fiyat=fiyat*1.05
WHERE sayfa>600
    IF @@ERROR<> 0
        BEGIN
            RAISERROR ('HATA OLUŞTU',16,-1)
            ROLLBACK TRANSACTION
            RETURN
        END
COMMIT TRANSACTION


--------------------------------------------------------

USE yuksel
IF EXISTS (SELECT * FROM sysobjects WHERE type='U'AND name='musteri')
    DROP TABLE musteri

IF EXISTS (SELECT * FROM sysobjects WHERE type='V'AND name='musteri_View')
    DROP TABLE musteri_View

GO

CREATE TABLE musteri
        (
            musteriNo int NOT NULL,
            ad char(10) NOT NULL,
            adres char(15) NOT NULL
        )
GO

CREATE VIEW musteri_View
AS
SELECT musteriNo, ad FROM musteri
GO

INSERT musteri VALUES (01,'final','istanbul')
INSERT musteri VALUES (02,'seçkin','ankara')
INSERT musteri VALUES (03,'akmar','istanbul')
INSERT musteri VALUES (04,'dost','ankara')
INSERT musteri VALUES (05,'kabalcı','istanbul')

SELECT * FROM musteri_View


--------------------------------------------------------
server üzerindeki tü aktiviteleri görmek için

sp_who

komutu kullanılır

Aktivite ID sini öğrenmek için

select @@spid

komutu kullanılır
--------------------------------------------------------
SQL SERVER VERSIONU

select @@version

--------------------------------------------------------
TABLOLARIN LİSTESİ

use yuksel

select * from INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE_TABLE'

--------------------------------------------------------
PRIMARY KEY FOREIGN KEY

use yuksel

select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='Prestige'

--------------------------------------------------------
SQL SERVER İSİMLERİNİ LİSTELEME

select name from sys.servers


--------------------------------------------------------

KONTROLLÜ VERİTABANI OLUŞTURMA

USE master
IF EXISTS
(SELECT name FROM sys.databases where name='inan')
BEGIN
Print 'Böyle Bir Veritabanı Var'
SELECT name FROM sys.databases
END
ELSE
BEGIN
CREATE DATABASE inan
Print 'VeriTabanı oluştu'
END

--------------------------------------------------------
VERİ TABANI OLUŞTURMA

CREATE DATABASE veriTabaniAdi
[ ON
    [[,...n]]
    [,[,...n]]
]

[
    [LOG ON {[,...n]}]
    [COLLATE collationAd]
    [WITH ]

]

::=
{
    [PRIMARY]
    (
        [NAME=mantıksalDosyaAdı]
        FILENAME='fiziksel_dosya_ad_ve_yol'
        [,SIZE=boyut[KB|MB|GB|TB]]
        [,MAXSIZE={enfazla_büyüme[KB|MB|GB|TB]|UNLIMITED}]
        [,FILEGROWTH=büyümeMiktarı[KB|MB|%]]
    )[,...n]
}

::=
{
    FILEGROUP filegroupAd[DEFAULT]
    [,...n]
}
--------------------------------------------------------
VERİ TABANI OLUŞTURMA

CREATE DATABASE egitim
ON PRIMARY
(
NAME=pretigeegitim,
FILENAME='c:egitim.mdf',
SIZE=10MB,
MAXSIZE=15MB,FILEGROWTH=20%
)

LOG ON
(
NAME =prestigeegitimlog,
FILENAME='c:egitim.ldf',
SIZE=3MB,
MAXSIZE=5MB,
FILEGROWTH=1MB
)

COLLATE TURKISH_BIN



--------------------------------------------------------
VERİTABANI OLUŞTURMA (3 ADET VERİ TABANI DOSYASI, 2 ADET TRANSACTION LOG FILE)

USE master
GO
CREATE DATABASE prestige
ON
PRIMARY (NAME=pec4, FILENAME='c:prestige4.mdf', SIZE=6MB, MAXSIZE=200, FILEGROWTH=20),

(NAME=pec42, FILENAME='c:prestige42.ndf', SIZE=2MB, MAXSIZE=20, FILEGROWTH=20),

(NAME=pec43, FILENAME='c:prestige43.ndf', SIZE=1MB, MAXSIZE=10, FILEGROWTH=5)

LOG ON
(NAME=peclog1, FILENAME='c:peclog1.ldf', SIZE=2MB, MAXSIZE=20, FILEGROWTH=20),
(NAME=peclog2, FILENAME='c:peclog2.ldf', SIZE=1MB, MAXSIZE=5, FILEGROWTH=2)
GO


--------------------------------------------------------
DOSYA GRUPLARI olusturma

USE master
IF EXISTS
(SELECT name='prestige'from sysdatabases where name='prestige')
DROP database prestige
GO
CREATE DATABASE prestige
ON
PRIMARY (NAME=prestigeData, FILENAME='c:prestige.mdf', SIZE=6, MAXSIZE=50, FILEGROWTH=15%),

(NAME=prestige2, FILENAME='c:prestige2.ndf', SIZE=6, MAXSIZE=50, FILEGROWTH=15%),

FILEGROUP prestigeGrup1
(NAME=prestige3, FILENAME='c:prestige3.ndf', SIZE=6, MAXSIZE=50, FILEGROWTH=5),
(NAME=prestige4, FILENAME='c:prestige4.ndf', SIZE=10, MAXSIZE=50, FILEGROWTH=5),


FILEGROUP prestigeGrup2
(NAME=prestige5, FILENAME='c:prestige5.ndf', SIZE=8, MAXSIZE=50, FILEGROWTH=5),
(NAME=prestige6, FILENAME='c:prestige6.ndf', SIZE=10, MAXSIZE=50, FILEGROWTH=5)

LOG ON

(NAME='Prestige_log', FILENAME='c:peclog.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB)
GO



--------------------------------------------------------
VERİ VE LOG DOSYALARINDA DEĞİŞİKLİK


ALTER DATABASE VERITABANIADI
{
  add_or_modify_files
    |add_or_modify_filegroups
    |MODIFY NAME= NEWDATABASENAME
    |COLLATE COLLATIONNAME
}
add_or_modify_files::=
{
    ADD FILE[,...n]
    [TO FILEGROUP{filegroupName|DEFAULT}]
    |ADD LOG FILE  filespec [,...n]
    |REMOVE FILE MANTIKSALDOSYAADI
    |MODIFY FILE  filespec
}

filespec::=
(
    NAME=MANTIKSALDOSYAADI
    [,NEWNAME=YENIMANTIKSALDOSYAADI]
    [,FILENAME='OSFILENAME']
    [,SIZE=size[KB|MB|GB|TB]]
    [,MAXSIZE={enfazlabouyt [KB|MB|GB|TB]|UNLIMITED}]
    [,FILEGROWTH=GROWTHINCREMENT[KB|MB|%]
    [,OFFLINE]
)

add_or_modify_filegroups::=
{
    ADD FILEGROUP filegroupName
    [REMOVE FILEGROUP filegroupName
    |MODIFY FILE filegroupName
    |{{REDONLY|READWRITE}|{READ_ONLY|READ_WRITE}}
    |DEFAULT
}




 kaynak : PALME ZİRVEDEKİ BEYİNLER YÜKSEL İNAN NİHAT DEMİRLİ
SQL SERVER 2005
Yorum (yok) :: Yorum yaz! :: Bağlantı

• 17/7/2007 - ASP.NET XmlDataSource

Dökümandaki anahtar kelimeler

 

çizelgesel veri: Tabular data

biçim şablonu: Style sheet

hiç: None

Veri-bağlanan kontrol: data-bound control

 XmlDataSource Sınıfı

 

public class XmlDataSource : HierarchicalDataSourceControl, IDataSource, IListSource

Namespace: System.Web.UI.WebControl

Assembly: System.Web(in system.web.dll)

 

XmlDataSource veri kaynağı kontrolüdür.  Xml verisini, Veri-bağlanan kontrollere (TeeView vb...) sunar.  XmlDataSource Veri-bağlanabilen kontroller tarafından verilerin çizelgesel ve hiyerarşik olarak gösterilmesi için kullanılabilir. XmlDataSource tipik olarak okunabilir modellerde hiyerarşik Xml versini göstermek için kullanılır. Çünkü XmlDataSource, “HierarchicalDataSource class” dan türetilmiştir(extended).  Hiyerarşik veriyle çalışmaktadır.  XmlDataSource kontrol ayrıca “IdataSource” arayüzünü gerçekleştirmekte  ve liste veya çizelge şeklinde çalışmaktadır.

 Güvenlik amacıyla,  XmlDataSource kontrol ün  “hiç” özelliği “ViewState”’de depolanmaktadır.  İstemci makinesi üzerinde “ViewState” içeriklerini çözmek teknik olarak mümkün olana kadar, veri yapısı  hakkında duyarlılık bilgisi depolanır veya  açık tehlike bilgisi size gösterilebilir.  “ViewState” içerisinde “Xpath” özelliği bilgisi gibi bilgileri depolama ihtiyacı duyarsanız,  “ViewStateEncrytionMode” ayarları tarafından içerikleri korumak için sayfa bildirimi üzerinde  şifreleme işlemini  aktive edebilirsiniz.

XmlDataSource kontrolünü Web sayfası geliştiricileri veri-bağlanılan kontrolleri kullanarak XML verisini göstermek için kullanırlar.

XmlDataSource kontrolü  “DataFile”  tarafından belirtilen bir Xml file’ dan Xml verisini tipik bir şekilde  yükler . Ayrıca  Xml verisi, “Data” özelliği kullanılarak “string” biçiminde veri kaynağı kontrolü tarafından  doğrudan yüklenebilir. 

Eğer veri bağlanan konroller tarafından Xml Verisi  gösterilmeden önce Xml Verisini dönüştürmek isterseniz, dönüşüm için XSL biçim şablonu temin edebilirsiniz.  Xml verisinde olduğu gibi tipik olarak  “ TransformFile” özelliği tarafından belirtilen bir dosyadan biçim şablonu yüklediğiniz gibi, ayrıca “Transform” özelliği kullanılarak doğrudan string biçiminde depolayabilirsiniz.   

XmlDataSource kontrol genellikle  Xml verisini gösteren sadece okunur   veri-bağlanan kontroller de kullanılır. Bununla birlikte ayrıca Xml verilerini düzenlemek içinde XmlDataSource kontrol  kullanabilirsiniz. Xml verisi düzenlemek için,  Xml verisini bellekte temsil eden “XmlDataDocument” nesnesini  alıp getiren ” GetXmlDocument” metodu çağrılır. 

“XmlDataDocument” ve “XmlNode” nesnelerini tarafından gösterilen Döküman içinde veri işlemek için Xpath filitreleme ifadelerini kullanan veya içeren  nesne modelini kullanabilirbilirsiniz. Bellekteki temsil edilen Xml verisi üzerinde değişiklik yaptığınızda “Sava” metodunu çağırarak diske değişiklikleri kaydedebilirsiniz.

XmlDataSource kontrolunun yetilerini düzenlemede bazı kısıtlamalar:

·         Xml verisi, “Data” özelliğinin belirtiği satıriçi XML’ den değilde  “ DataFile” özelliğinin belirtiği XML dosyasından yüklenmelidir,

·         XSLT dönüşümü, “Transform” veya “TransformFile” özelliklerinde belirtilmeyebilir,

·         Save metodu farklı istekler tarafından gerçekleştirilen ve aynı anda kaydedilen işlemleri yönetemez. Eğer birden fazla kullanıcı XmlDataSource youlyla Xml dosyasını düzenlerse, bütün kullanıcıların aynı veri üzerindeki işlemleri garanti edilemez. Ayrıca aynı eşzamanlı sorunlardan dolayı  “Save” işlemi için başarısızlıkla sonuçlanma olasıdır.

Xml verisiyle gerçekleştirilmiş genel bir işlem bir Xml veri kümesinden diğerine  dönüştürülebilir.

XmlDataSource kontrol, “TransformFile” ve “Transform” özelikleri sayesinde, Xml verisi veri-bağlanan kontrole geçmeden, belirtilen XSL biçim şablonunu Xml verisine uygulamak için, XML dönüşümlerini destekler, ve “TransformArgumentList” özelliği, dönüşüm esnasında XSL biçim şablonu tarafından kullanılabilen dinamik XSLT biçim şablonu argumanlarını tedarik etmeniz için onları seçilebilir kılar.

Eğer Xpath özelliğini kullanarak bir Xpath filitreleme ifadesi belirtirseniz, bu dönüşümden sonra uygulanır.

Varsayılan olarak , XmlDataSource kontrolü,  “DataFile” özelliğiyle belirtilen veya “Data” özeliğinde satıriçi bulunan Xml dosyasındaki bütün Xml verilerini yükler, ama Xpath ifadesi kullanılarak veri filitrelenebilir. “Xpath” özelliği, Xml verisi yüklenip dönüştükten sonra uygulanan Xpath-syntax filitresini destekler.

Amaçlanan Performans  için, varsayılan olarak XmlDataSource kontrolu  önbellekleme active edilmiştir.   

 Sunucu üzerindeki  her defada açılıp okunmak  istenen  XML dosyası uygulamanızın performansını düşürülebilir. Önbellekleme, Web sunucu üzerindeki değerli belleğe sunucu yüklenmesi sürecini azaltmanıza olanak sağlar.

“EnableCaching” özelliği, “true” olarak ayarlandığında, XmlDataSource otomatik olarak ön bellekleme yapar ve önbellek geçersiz  kılınmadan önce “CacheDuration” özelliği  veryi depolama önbelleklerinin sayısı olarak ayarlanır. Veri kaynağı kontrolünün davranışını önbelleklemede daha iyi ayar yapmak için “CacheExpirationPolicy” özelliğini kullanabilirsiniz.

 

Yetenek

Tanımı

Sorting

XmlDataSource kontrol tarafından desteklenmez .

Filtering

XPath özelliği uygun Xpath ifadesi kullanılarak, XML verisini filitrelemek için kullanabilir.

Paging

XmlDataSource kontrol tarafından desteklenmez.

Updating

XmlDataSource kontrol tarafından  işlenmesiyle doğrudan  desteklenir ve daha sonra “Save” metodu çağrılır.

Deleting

XmlDataSource kontrol tarafından  işlenmesiyle doğrudan  desteklenir ve daha sonra “Save” metodu çağrılır.

Inserting

XmlDataSource kontrol tarafından  işlenmesiyle doğrudan  desteklenir ve daha sonra “Save” metodu çağrılır.

Caching

Varsayılan olarak aktiftir ,  CacheDuration özelliği 0 olarak ayarlanmıştır  ve CacheExpirationPolicy özelliği “Absolute olarak ayarlanmıştır

 

XmlDataSource kontrol,  verileri hiyerarşik ve çizelgesel olarak gösteren veri-bağlanan kontrolleri  desteklediğinden dolayı, veri kaynağı kontrolü, Xml verilerine dayanan nesneleri gösteren çoklu veri kaynağı türünü destekler.

Verileri çizelgesel gösteren veri-bağlanan controller kullanıldığında XmlDataSource kontrol tek isim olarak XmlDataSourceView ‘i alıp getirir. GetViewNames metodu tek isim gösterimini tanımlar.

 Verileri hiyerarşik gösteren veri-bağlanan controller kullanıldığında XmlDataSource kontrol,GetHierarchicalView metoduna geçen herhangi bir tekil hiyerarşik yol için   XmlHierarchicalDataSourceView ‘i alır-getirir.

 

ÖRNEK KOD

TreeView ile XmlDataSource kullanımı;

C#


http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.xmldatasource.aspx

adresinde


http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.xmldatasource.aspx

 

adresindeki kaynaktan çevrilmiştir

 

 

 

Yorum (yok) :: Yorum yaz! :: Bağlantı

Hakkımda

ADI: HASAN SOYADI: ÖZ İşi: Bilgisayar Mühendisliği Çalıştığı Yer :BARSET BİLGİ SİSTEMLERİ İlgi Alanı: Yazılım Geliştiriciliği Doğum Yılı :1984 Yaşadığı Yer: İstanbul

Bağlantılar

Ana Sayfa
Profilim
Arşiv
Arkadaşlarım
e-posta
Blog RSS

Kategoriler

Arkadaşlar

batibey
Sayfa Güncel Sayfa:1 Toplam:3
| Sonraki Sayfa