Asp.Net İnsert İnto Deyiminde Sözdizimi Hatası
-
öncelikle selamlar. Bugün bi asp.nete giriş yapim dedim ve visual web developer 2005 i yükledim. Neyse bide accses ile 2-3 kayıt yapmayı öğreneyim dedim.
Bi kaç script inceledikten sora kendi cabamlada olsa bişiler yapabildim. Formumda txtkadi , txtsifre die 2 textbox 1 de buton var .
default.aspx.vb deki kodlarım ise direk aşagıdaki gibi
Imports System.Data.OleDb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim genki As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & Server.MapPath("genki.mdb"))
genki.Open()
Dim sorgu As String = "Insert Into user (kadi,sifre) Values ('" & txtkadi.Text & "','" & txtsifre.Text & "')"
Dim cmd As New OleDbCommand(sorgu, genki)
cmd.ExecuteNonQuery()
genki.Close()
Response.Redirect("Default.aspx")
End Sub
End Class
şimdi gel gelelim sorunumuza ctrl + f5 yaptıgımda form karsıma cikio kutucukları dolduruorum ve butona bastıgım zaman
INSERT INTO deyiminde sözdizimi hatası.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: INSERT INTO deyiminde sözdizimi hatası.
die bir hata alıyorum. Googledan biraz araştırma yaptım tam olarak bişi anlamadım . Kimi dio izinlerde sorun olabilir kimi dio tırnaklarda sorun olabilir ve son olarak konuyu Tahribata taşımak istedim. Yardımlarınızı bekliyorum şimdiden teşekürlerSelam ve dua ile (F) :P
-
Dim sorgu As String = "Insert Into user (kadi,sifre) Values ('" & txtkadi.Text & "','" & txtsifre.Text & "')"
' " & txtsifre.Text & " ' buradaki txtsifre.Text değişkeni sayıysa ve sifre fieldı da sayıysa oradaki ' işaretlerini kaldırıp denesene
-
yok abi alanların hepsi text :S . denedim sonuc olumsuz :(
-
cmd.parameters.add( ... )
seklinde bi ornek bulsan hem daha kolay yaparsn hemde sql injection fln yemez adam gibi olur
-
0m3r bunu yazdı:
-----------------------------
yok abi alanların hepsi text :S . denedim sonuc olumsuz :(
-----------------------------
bi de tabloda kullanıcı adı ve şifre dışındaki fieldler null olabiliyor mu, null olmaması gereken fieldlar varsa da hata verir..
Bi de
"Insert Into user Values ('" & txtkadi.Text & "','" & txtsifre.Text & "', 'diger field', 'bir digeri daha', 'son field')"
Olarak yani sadece 2 field değil, tüm fieldleri doldur, yine hata veriyor mu kontrol et..Bu şekilde hatanın nereden kaynaklandığı hakkında fikir sahibi olabilirsin.. -
alp bunu yazdı:
-----------------------------0m3r bunu yazdı:
-----------------------------
yok abi alanların hepsi text :S . denedim sonuc olumsuz :(
-----------------------------
bi de tabloda kullanıcı adı ve şifre dışındaki fieldler null olabiliyor mu, null olmaması gereken fieldlar varsa da hata verir..
Bi de
"Insert Into user Values ('" & txtkadi.Text & "','" & txtsifre.Text & "', 'diger field', 'bir digeri daha', 'son field')"
Olarak yani sadece 2 field değil, tüm fieldleri doldur, yine hata veriyor mu kontrol et..Bu şekilde hatanın nereden kaynaklandığı hakkında fikir sahibi olabilirsin..
-----------------------------
bu şekilde parametre hatası verir.null değer olması çalışma zamanında hata vermez.hatanın parametrelerin başında ve sonundaki & işareti olduğunu sanıyorum.ayrıca '" & txtkadi.Text & "' ifadesinde çift tırnaklar gereksiz..
hepsini geçtim,dediği gibi cmd.parameters.add() fonksiyonu kullan.sql değil access kullanıyosun galiba bide.
-
iyide sadece 3 alan var. şu an denemeler yapıorum . alanlar id kadi sifre . id otomatik sayi kadi text sifre text
holynin dedigi olayı arastırıorum suan ondada aynı hatayı aldım bi bokluk var bende ama biraz daha kasim belki yaparım
db olarakta evet accses kullanıyorum.
-
oh be yaptım en sonunda . sorun alanlardan kaynaklanıormuş . Tablo ismini omer alanlarıda id isim soyisim yapıp deneyim dedim calıstı.
Yardım eden herkeze teşekkür ederim .
