Mysql hatası yardım lütfen...
Merhaba. Sizden bir konuda yardım etmenizi rica ediyorum.
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
ik = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=Veriler;" _
& "UID=root;" _
& "PWD=1234;" _
& "stmt=SET NAMES 'latin5';" _
& "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384
Set conn = New ADODB.Connection
conn.Open ik
Set RS= New ADODB.Recordset
Set RS.ActiveConnection = conn
RS.CursorLocation = adUseClient
RS.Open "Select alan1 as 'Plaka_No' From A", conn, adOpenStatic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = RS
Bu kodlar ile veritabanına bağlantı yapıyor ve verileri alabiliyorum fakat silme,değiştirme veya veri eklemek istediğimde
Run-time error '-2147217900 (80040e14)':
[MySQL][ODBC 3.51 Driver][mysqld-4.1.22-community-nt]Unknown
column 'Plaka No' in 'where clause'
şeklinde mysql hata veriyor. Sorgudaki 'Plaka_No' alanını 'Plaka_No' , "Plaka_No" olarakda değiştirsemde yine aynı hatayı veriyor. Eğer veriyi Plaka No alanı olarak istemezsem yani bunu hiç kullanmazsam sorun yok ama bunu kullanmam lazım.4 gündür bununla uğraşıyorum yardımcı olursanız çok sevinirim
Php
sen microsoft dilleri ile mi baglanmaya calısıyorsun mysql e ? mysql in resmi sitesinde mysql connector var onu indir onunla baglan o zaman sıkıntı yasamazsın projenin referencestan mysql kutuphaneleri ekle oyle dene odbc bu tarz hataları sık veriyor.eger odbc uzerinden illa baglanacaksan try catch ile hata fırlattır ona gore duzeltmeleri google uzerinden bulabilirsin
Php
Bu konların ASP ile kullanıldığını düşünüyorum, değişkenlere bakılırsa kesinlikle PHP değil !
Php
Birincisi burası Php destek sitesi.
2. olarakta. ilk önce field'inizin adını Plaka_No olarak değiştirip ondan sonra WHERE sorgunuzda WHERE Plaka_No = değer şeklinde sorgunuzu çalıştırın.
3. Olarak Mysql'e ODBC kanalından bağlanmanızı tavsiye etmem. Hangi dili kullanıyorsanız. Mysql componenti mutlaka vardır. Onu kullanın.
Arkadaşlar cevaplar için teşekkür ederim. Bağlantımda problem yok , bağlantı oluyor ve sorgu çekebiliyorum ama silme , değiştirme ve ekleme yapılamıyor. Bana veritabanındaki alan adıyla değil , kendi belirlediğimiz bir alan adıyla veri veren sql sorgusu lazım.
"Select alan1 as 'Plaka_No' From a" Bu sorgu veritabanından veriyi Plaka_No alan adı olarak alıyor ama silme ekleme yapıldığında hata veriyor.Yani bu şekilde herşey normal
"Select alan1 From a"
Başka alan adıyla veri alan olmadımı hiç ?
php
"Select alan1 as 'Plaka_No' From a"
Eğer sql bir sorguyu çalıştırabiliyorsanız bilgisayarınızda sorgudaki alan1 adını kendi alan adınızla değiştirerek deneyiniz. Recortsetinizdeki alan adının kendi alan adınız değil Plaka_No olduğunu göreceksiniz. Plaka_No adını kendi istediğiniz bir adla değiştirebilirsiniz.Tabi ki veritabanındaki alan adı değişmez. Ama bu sorguyla silme ekleme işlemlerini ADO nesnesiyle Mysql de yapamadım , bende ayrı bir bağlantı nesnesiyle silme ekleme yapıyor sonra tekrar recortset nesnesini yenilemek zorunda kalıyorum tabi bu gereksiz yere veritabanına 2 işlem demektir
Php
Şimdi anlaşıldı. Siz direk Ado componenti kullanıyorsunuz ve Adoquery ile çekim yapıyorsunuz. Update, Delete gibi işlemler de de dbnavigator kullanıyorsunuz fakat çekerken ismini değiştirdiğiniz için adoquery adını değiştirdiğiniz field'i bulamıyor.
Bunu yapmak için şöyle bir yol izlenebilir.
Adoquery ile istediğiniz gibi çekersiniz. Ve Forma birtane de Adocommand atarsınız. Ve seçilen row'un id numarasını alıp adocommand'a gönderirsiniz. Direk sildirirsiniz.