Adobe Flash ile veri tabanı işlemleri
Blog sitemde küçük de olsa bir ziyaretçi artışı oldu.Ben de şimdiye kadar yazılım ve uygulama geliştirme ile edindiğim tecrübeler hakkında daha ayrıntılı, genç,yazılımla ilginen arkadaşlara yönelik kod parçaları da içeren
yazılar da eklemeyi düşündüm.Benim de sıkça internette başvurduğum kaynaklar arasına eklenecek, yeni bir bakış açısı ile yazılar yazacağım …
İlk olarak sıkça uygulama geliştirirken karşıma çıkan veri tabanı bağlantısı nasıl kurulur? özellikle Adobe Animate(Flash cc) ile uygulama geliştirenler için çözülmesi gereken bir sorun…
Adobe Animate ile uygulama geliştirirken ActionScript 3.0 ile kodlarımı oluşturuyorum.Elbette bu konu hakkında adobe kaynaklarında ayrıntılı
dökümanlar var.Fakat google da aramalarda kullanacağınız kaynakları
incelemek zaman alabiliyor.Daha kısa başlıklar halinde derlenmiş yazılara ihtiyaç oluyor…Bu yazı, adobe flash cc programı ile belli bir seviyeye gelmiş
kullanıcıların işine yarayabilir…
Adobe Animate(Flash cc) ile hazırladığımız uygulama ile web sunucumuz üzerindeki bir veri tabanına erişim nasıl kurarız? nasıl veri çekip, nasıl verileri uygulamamız içine alırız ya da göndeririz?
Bunun için actionscript 3.0 ile uygulama içinden yazacağınız kodlar,uzak sunucudaki veri tabanınızın hangi sistemi kullandığı ile ilgilenmiyor.Sadece verileri düzenleyen web sayfanızın linkini url variables içinde tanımlıyorsunuz…
İlk olarak bir uygulama içi formdan veri yollayacaksanız,bu form içinde input text kutularınızı ve bu kutuların isimlendirmesini tamamlamalısınız…Uygulama içinde ürettiğiniz verileri de veri tabanına yollamak istiyorsanız,bu verileri dinamik text kutuları oluşturup,kutuların visible değerlerini false olarak ayarlayıp,aynı şekilde kutuları isimlendirerek hazırlamalısınız…Tabii ki dinamik text olarak ayarladığınız text kutusu adına,oluşturduğunuz değişkeni de eşitlemeniz gerekiyor… örnek resim ve kodlar altta:
//Action Script 3.0 flash uygulama içerisindeki veri tabanı bağlantısı kodları
var dinamikdeger:String=new String("");
//eğer uygulama içinde bir değişken //oluşturup veri tabanına yazdıracaksak,önce oluşturduğumuz, visible değerini false yaptığımız dinamik //texte bu değişkenin değerini eşitlememiz gerekiyor...
dinamikdeger_txt.text=dinamikdeger;
//türkçe karakter sorunu için gerekli satır
System.useCodePage=true;
//bağlantı istek //kodu
var req:URLRequest = new URLRequest("http://orneksite.com/verikodu.asp");
// verileri bir yükleyiciye //aktarıyoruz//
var ldr:URLLoader = new URLLoader();
//değişken ön tanımlayıcısı
var veri:URLVariables = new URLVariables();
//değişkenlerimizi input text adlarımızla //eşleştiriyoruz.
veri.adi=ad.text;
veri.kulad=kulad_txt.text;
veri.email=email.text;
veri.sifre=sifre_txt.text;
//dinamik değeri de buraya //ekleyebiliriz...
veri.dinamikdeger=dinamikdeger_txt.text;
req.method = URLRequestMethod.POST; //post metodu ile verileri sunucuya //yolluyoruz...
req.data = veri;
ldr.dataFormat = URLLoaderDataFormat.VARIABLES;
ldr.load(req);
//işlemin sonucunu //bekleyen bir dinleyici oluşturuyoruz...
ldr.addEventListener(Event.COMPLETE,islemtamam);
}
function islemtamam(evt:Event):void
{
// veri sayfamızdan dönen sonuc adlı değişkenin veri sayfamızdan dönen //sonucunu kıyaslıyoruz...
if(String(evt.target.data.sonuc.substr(0,1)) == "1")
{
ad.text="";
kulad_txt.text="";
sifre_txt.text="";
email.text="";
//işlemin sonucunu bir mesaj text kutusuna yazdırabiliriz...
mesaj_txt.text="BİLGİLERİNİZ BAŞARIYLA KAYDEDİLDİ...";
}
else if(String(evt.target.data.sonuc.substr(0,1)) == "2"){
mesaj_txt.text="KULLANICI ADINIZ VEYA MAİL ADRESİNİZ DAHA ÖNCE KAYDEDİLMİŞ...";
}
}
Bu kodlarla adobe flash içinde oluşturduğunuz uygulamanız ile sunucuda bulunan , asp ,aspx gibi ya da php gibi uzantılara sahip veri işleyici dosyanıza, text verilerini gönderebilirsiniz…Ben örnek olarak, bu verileri işleyecek *klasik asp ile yazılmış örnek kodları da bu yazıya ekliyorum…
Veri tabanı olarak mssql,mysql yada daha basit bir sistemse microsoft office access kullanabilirsiniz..Ben msAccess ile oluşturulmuş bir veri tabanı dosyası örneği kullanacağım.Veri tabanı oluşturmak daha farklı bir yazının konusu olabilir…Burada bu konuya girmiyorum…
Veri işleyici dosyasının bağlantı kurduğu verikodu.asp adlı dosyadaki kodlar altta:
<%
'ASP ile yazılmış veri tabanı bağlantısı yapan ve verileri kaydeden
'sunucu içerisindeki dosyada bulunan kodlar
'veri tabanı ile bağlantı kuruyoruz...
yol="DRIVER={MICROSOFT ACCESS DRIVER
(*.MDB)};DBQ="&Server.MapPath("db/database.mdb")
set baglanti=server.CreateObject("ADODB.Connection")
baglanti.open yol
set rsmesaj2=Server.CreateObject("ADODB.Recordset")
'sql dili ile veri tabanı içinde kodları ekleyeceğimiz sorguları 'yapıyoruz...
'tablouye adlı tabloda flash uygulama içinden gönderilen kullanıcı adı 'var mı onu sorguluyoruz..
rsmesaj2.Open "Select * from tablouye where kulad='"&request.Form("kulad")&"'",baglanti
'eğer böyle bir kullanıcı yoksa yeni bir kullanıcı olarak 'kaydediyoruz...
if rsmesaj2.EOF then
set rsmesaj=Server.CreateObject("ADODB.Recordset")
rsmesaj.Open "Select * from tablouye",baglanti,1,3
rsmesaj.AddNew
rsmesaj.Fields("ad")=request.Form("adi")
rsmesaj.Fields("kulad")=request.Form("kulad")
rsmesaj.Fields("sifre")=request.Form("sifre")
rsmesaj.Fields("email")=request.Form("email")
rsmesaj.Fields("dinamikdeger")=request.Form("dinamikdeger")
rsmesaj.UpDate
'kullanıcı adı kaydedildi ise sonuc=1 yazdırıyoruz...
response.Write("sonuc=1")
else
'kullanıcı adı daha önce alınmış işe sonuc=2 yazdırıyoruz...
response.Write("sonuc=2")
end if
baglanti.Close()
set baglanti=Nothing
%>
Elbette bu kodların çalışması için bir hosting altında çalışan belli bir uzantıya ait web sitenizin olduğu düşünüldü.Actionscript kodundaki
url variables içinde orneksite.com adlı bölümü kendi sitenize göre ayarlamanız gerekiyor.Ayrıca asp kodları ile verilmiş bölümde,hostingte bulunan sitenizin kök dosyasında, db adlı bir klasör içinde microsoft office access programı ile oluşturulmuş, *.mdb uzantılı bir veri tabanınızın olduğu düşünüldü.
***neden klasik asp tercih ettiğimi sorabilirsiniz.Aslında C# ile kodlanmış daha yeni asp.net sistemine uyumlu kodlar da kullanılabilir.Ancak ben ilk örnek deneme yapacaklar için daha kolay anlaşılabileceğini düşündüm.
Kodlama mantığını if else şeklini öğrendikten sonra,diğer dillerde de bu işlemleri yapmak daha kolay hale gelir…
NOT:Ms access ile ms office 2007 sonrası sürümlerde mdb dosyası yerinde accdb şeklinde bir uzantı geldi..mdb ile oluşturmak yine de mümkün ancak access içinden, eski versiyon olarak kaydetmeniz gerekiyor.asp dosyada veri tabanı bağlantısı cümlesi veri tabanı tipinize göre faklılık gösteriyor.
mdb uzantısı kullanmadıysanız, buraya daha farklı bir bağlantı cümlesi gelebilir…
ADOBE AİR KODLAMA İLE İLGİLİ DAHA FAZLA MAKALE İÇİN:
https://atolyepapirus.com/category/egitim-kodlama/
Yeni bir blog yazısında görüşmek üzere…
sql kodlarını as3 sahnemizde iken yeni bir layer açıp orayamı yazmamız gerekiyor.yoksa butonun sahnesine gidip oradamı girmemiz gerekiyor.
sql kodları ile kastettiğiniz veri tabanı tanımlayıcı dosyası ise, onu flash uygulama içerisine yazmıyoruz…web üzerinde bir sunucuda asp uzantılı dosya olarak haricen oluşturuyoruz..bu sayfaya bağlı bir de mdb uzantılı access veri tabanı dosyası hazırlamamız gerekiyor…
asp uzantılı dosyayı not padde yazabilirsiniz..mdb uzantılı veri tabanını ise microsoft office access programı ile hazırlamalısınız…
hocam çok teşekkür ederim.
🙂
rica ederim.kolay gelsin..