ASP.net veri tabanı?

  • Konbuyu başlatan Konbuyu başlatan ashaxx
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü

ashaxx

Site Gezgini
Mesajlar
74
veri tabanımda dört alanım var örnek
ahmet bekir ceyda mahmut

0 0 0 0

gibi dört alanım tablomda kayıtlı asp.net sayfamda bir texbox ve bir button bulunmakta textboxa kimin ismi yazılıysa butona basılınca veri tabanımdaki o kişinin alanı 1 artsın yani mahmut yazılıp buttona basılınca mahmut alanı 1 olsun.
arkdaşlar tabloyu oluşturup sqldatasource attım ama buttona basılınca yazılacak update kodlarını yazamadım bilenler yazarsa seviniri. şimdiden teşşekürler.
 
Hocam denemedim ama şu şekilde bişe yaptım belki çalışır :) en azından fikir verir.. Amatörce oldu ama idare ediniz...


Imports System.Data.OleDb
Imports System.Data

Partial Class _Default
Inherits System.Web.UI.Page
Dim baglan As OleDbConnection
Dim sorgu As OleDbCommand
Dim adap As OleDbDataAdapter
Dim sql As String

Sub verial(ByVal sql As String) 'Alandan önceki değeri alır üzerine 1 ekleyerek label e aktarır
adap = New OleDbDataAdapter(sql, baglan)
Dim veriler As New DataTable("veriler")
adap.Fill(veriler)
Label1.Text = veriler.Rows.Item(0).Item(0)
Label1.Text = Val(Label1.Text) + 1
End Sub

Sub baglanti()
baglan = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\vt1.mdb")
baglan.Open()
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "MAHMUT" Then
sql = "select mahmut from tablo1 "
baglanti()
verial(sql)
sorgu = New OleDbCommand("update tablo1 set mahmut='" + Label1.Text + "'", baglan)
sorgu.ExecuteNonQuery()

ElseIf TextBox1.Text = "CEYDA" Then
sql = "select ceyda from tablo1 "
baglanti()
verial(sql)
sorgu = New OleDbCommand("update tablo1 set ceyda='" + Label1.Text + "'", baglan)
sorgu.ExecuteNonQuery()

''' diyerek geri kalanını elseif arasına yazabilirsiniz...
End If
End Sub
End Class

amacınızı bilimiyorum ama textbox yerine dropdownlist kullanırsanız daha iyi olur diye düşünüyorum...
 
ofkeli82' Alıntı:
Hocam denemedim ama şu şekilde bişe yaptım belki çalışır :) en azından fikir verir.. Amatörce oldu ama idare ediniz...


Imports System.Data.OleDb
Imports System.Data

Partial Class _Default
Inherits System.Web.UI.Page
Dim baglan As OleDbConnection
Dim sorgu As OleDbCommand
Dim adap As OleDbDataAdapter
Dim sql As String

Sub verial(ByVal sql As String) 'Alandan önceki değeri alır üzerine 1 ekleyerek label e aktarır
adap = New OleDbDataAdapter(sql, baglan)
Dim veriler As New DataTable("veriler")
adap.Fill(veriler)
Label1.Text = veriler.Rows.Item(0).Item(0)
Label1.Text = Val(Label1.Text) + 1
End Sub

Sub baglanti()
baglan = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|\vt1.mdb")
baglan.Open()
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "MAHMUT" Then
sql = "select mahmut from tablo1 "
baglanti()
verial(sql)
sorgu = New OleDbCommand("update tablo1 set mahmut='" + Label1.Text + "'", baglan)
sorgu.ExecuteNonQuery()

ElseIf TextBox1.Text = "CEYDA" Then
sql = "select ceyda from tablo1 "
baglanti()
verial(sql)
sorgu = New OleDbCommand("update tablo1 set ceyda='" + Label1.Text + "'", baglan)
sorgu.ExecuteNonQuery()

''' diyerek geri kalanını elseif arasına yazabilirsiniz...
End If
End Sub
End Class

amacınızı bilimiyorum ama textbox yerine dropdownlist kullanırsanız daha iyi olur diye düşünüyorum...

hocam teşekkür ederim amacım texten almak değil elimdeki uygulamayı en basit sekilde anlatmak için textlerden yazdım sağolun hocam bir deniyim ben genelde sorgu yazma yerine nesneleri kullanarak yapmaya çalışıyorum bi bakıyım yazdıklarınıza.
 
öncelikle belirteyim bunu access te yazmaya kalkarsan programın kod kısmında aşağıdaki gibi düşüneceksin

Kod:
string sql = "Update TablonunAdi Set " + TextBox1.Text + "=" + TextBox1.Text + "+1";
OleDbCommand cmd = new OleDbCommand(sql,connection)
cmd.Connection.Open();
komut.ExecuteNonQuery();
cmd.Connection.Close();

Sql server da ise
Kod:
Create Procedure dbo.spAnket
      @Isim nvarchar(50)
As
Declare @sql nvarchar(max)

Set @sql = 'Update TablonunAdi Set ' + @sql + '=' + @sql + '+1'
Exec(@sql)

Code Behind da

Kod:
string sql = "spAnket;
OleDbCommand cmd = new OleDbCommand(sql,connection)
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWith("@Isim",TextBox1.Text);
cmd.Connection.Open();
komut.ExecuteNonQuery();
cmd.Connection.Close();

Ancak şunuda belirteyim hatalı bir tablo tasarımı yaptığını düşünüyorum.

Yani anket vari bir şey yapacaksan. tablon
GirisId int, Kisi nvarchar(50) olmalı
tabloya text box tan her isim girildiğinde bunu normal Insert TablonunAdi (Kisi) Values (@Kisi) olarak almalı
sorgularkende Select Count(*) From TablonunAdi Where Kisi=@Kisi
şeklinde sorgularsan bence daha pratik bir kod yazmış olursun.

Kolay gelsin.
 
BBNET
Geri
Üst