ASP.NET veri tabanına kayıt da sorun?

Kodla Büyü

kobalt

Site Gezgini
Mesajlar
54
merhaba arkadaşlar. Access veri tabanından veri okumada sorun yok. Ancak Veri tabanına girilen bilgiler kayıt olmuyor. görünen bir hata da vermiyor. Ama veri tabanını açıp baktığımda yada listelettiğimde yaptığım kayıt eklenmemiş . Ancak verileri access açarak giriyorum. onları datagrid ile listeletirken sorun olmuyor tüm veriler listeleniyor. Kodlara bakıp yorum yaparsanız sevinirim. teşekkürler..

<%@ Page Language="VB" debug="true" ContentType="text/html" ResponseEncoding="iso-8859-9" %>
<%@ import namespace="system.data"%>
<%@ import namespace="system.Data.OleDb"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<title>veri aEtkilesim Örnegi2</title>
<script language="VB" runat="server">

sub tiklandi(sender as object, e as eventargs)
dim a as string
dim b as string
dim c as integer
dim d as integer
a=t1.text
b=t2.text
c=t3.text
d=t4.text


dim ekleme as new OleDbconnection
ekleme.connectionstring="provider=microsoft.Jet.OLEDB.4.0;" & "data source=" & server.MapPath("data\eklemeler.mdb")
ekleme.open
dim komut as new OleDbcommand
komut.connection=ekleme

komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)"
response.Write("kayıt edildi")
ekleme.close
end sub
</script>


<form runat="server" name="form1" >
<h4 align="center" class="style1">İLAN FORMU </h4>

<h4><span class="style5">ürün adi</span>
<asp:textbox id="t1" runat="server" />
<br>
</h4>
<h4>
<span class="style5">ürün cinsi</span>
<asp:textbox id="t2" runat="server" />
<br>
</h4>
<h4>
<span class="style5">ürün kodu</span>
<asp:textbox id="t3" runat="server" />
<br>
</h4>
<h4>
<span class="style4">ürün no</span>
<asp:TextBox ID="t4" runat="server" />
<br>
</h4>
<p>
<asp:Button id="btn1" name="buton" runat="server" OnClick="tiklandi" ForeColor="#FFFFFF" BackColor="#002D88" Text="GÖNDER"/></p>
<p class="style2"><a href="index.html" class="style3"><img src="images/BTN1.png" width="120" height="114"></a></p>
<p class="style2"><a href="index.html"></a></p>
</form>
 
komutu çalıştırmıyorsunuz hocam.

komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)"
komut.ExecuteReader()

şeklinde yapın.
 
Hocam sorun sanki komut.ExecuteNonQuery() şeklinde ekleme sorgusunu çalıştımamışsınız. İlk aşamada gözüme çarpan bu hocam... Kolay gelsin...
 
komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)"
response.Write("kayıt edildi")

Hocam bu iki satırın arasına komut.ExecuteNonQuery() yazın
 
olmadı yine. hata veriyor. yazdığınız komut sanki bir parametre istiyo gibi geldi. tam anlamadım...
 
dim a as string
dim b as string
dim c as integer
dim d as integer
a=t1.text
b=t2.text
c=t3.text
d=t4.text

Burada değişkenleri aktarırken c ve d değişkenleri integer olarak tanımlayıp veri tabanına metin olarak almaya çalışmışsın. Söyle olabilir
c=convert.toInt32(t3.text)
d=convert.toInt32(t4.text)

çevrimlerini yapmayı dene...
 
aldığım hata aşğaıda.

Gerekli bir veya daha fazla parametre için girilen değer yok.
Açıklama: Geçerli web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel Durum Ayrıntıları: System.Data.OleDb.OleDbException: Gerekli bir veya daha fazla parametre için girilen değer yok.

Kaynak Hatası:

Satır 32:
Satır 33: komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)"
Satır 34: komut.ExecuteNonQuery()
Satır 35: response.Write("kayıt edildi")
Satır 36: ekleme.close


Kaynak Dosya: c:\inetpub\wwwroot\a\ilan.aspx Satır: 34

Yığın İzleme:

[OleDbException (0x80040e10): Gerekli bir veya daha fazla parametre için girilen değer yok.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1002416
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +255
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +188
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +161
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +113
ASP.a_ilan_aspx.tiklandi(Object sender, EventArgs e) in c:\inetpub\wwwroot\a\ilan.aspx:34
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
 
komut.commandtext= @"insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)"

bi @ işareti değiştiri herşeyi;))) belki....
 
Satır 33: komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values (a,b,c,d)


bu satırda a, b, c, d değerlerini silip yerlerine herhangibir bir şey yazınca onları veritabanına kayıt etti. raqstgele 1,2,3,4 yazmıştım onları kayıt etti. Yani text kutularından gelne bilgileri alamıyor. Gözümden kaçan bir yer mi var. anlayan arkadaşlar bakarsa sevinirim. teşekkürler..
 
HALLETTİM. Tüm yardımlar için teşekkürler

komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values ('" & t1.Text & "','" & t2.Text & "','" & t3.Text & "','" & t4.Text & "')"


:eek:
 
kobalt' Alıntı:
HALLETTİM. Tüm yardımlar için teşekkürler

komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values ('" & t1.Text & "','" & t2.Text & "','" & t3.Text & "','" & t4.Text & "')"


:eek:


Hocam ekleme işlemlerinde mümkün olduğunca parametre kullanarak işlem yapmanızı tavsiye ederim, yoğun eklemelerde hata daha az olur.
... values(@adi,@cinsi,@kodu,@kno)
komut.parameters.add(new oledbparameter("adi",textbox1.text)
komut.parameters.add(new oledbparameter("cinsi", textbox2.text)
.... gibi,
 
ofkeli82' Alıntı:
kobalt' Alıntı:
HALLETTİM. Tüm yardımlar için teşekkürler

komut.commandtext= "insert into eklenecekler (urunadi,uruncinsi,urunkodu,kullanicino) values ('" & t1.Text & "','" & t2.Text & "','" & t3.Text & "','" & t4.Text & "')"


:eek:


Hocam ekleme işlemlerinde mümkün olduğunca parametre kullanarak işlem yapmanızı tavsiye ederim, yoğun eklemelerde hata daha az olur.
... values(@adi,@cinsi,@kodu,@kno)
komut.parameters.add(new oledbparameter("adi",textbox1.text)
komut.parameters.add(new oledbparameter("cinsi", textbox2.text)
.... gibi,


teşekkürler...
 
Geri
Üst