Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Amatersko pitanje

[es] :: .NET :: Amatersko pitanje

[ Pregleda: 2323 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl.sezampro.yu.



Profil

icon Amatersko pitanje17.02.2006. u 20:45 - pre 220 meseci
Citat:
Private Sub Mesta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=D:\Documents and Settings\Srdjan\My Documents\Visual Studio Projects\Kartoteka\Baza.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
'"SELECT Mesto, [Pozivni broj] FROM Mesta WHERE (Mesto = ?)"

AdapterMesta.SelectCommand().Parameters("Mesto").Value = "Novi Sad"
AdapterMesta.Fill(DataSetMesta)

ListBoxAdapter.Fill(ListBoxDataSet)
ListBoxMesto.DataSource = ListBoxDataSet.Tables("Mesta")
ListBoxMesto.ValueMember = "Mesto"

Dim keys(0) As DataColumn
keys(0) = DataSetMesta.Tables("Mesta").Columns("Mesto")
DataSetMesta.Tables("Mesta").PrimaryKey = keys

TextBoxMesto.DataBindings.Add((New Binding("Text", DataSetMesta, "Mesta.Mesto")))
TextBoxPozivni.DataBindings.Add((New Binding("Text", DataSetMesta, "Mesta.Pozivni broj")))

End Sub


Private Sub ButtonPromeni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromeni.Click

Dim IzmeniRed(1) As Object
IzmeniRed(0) = TextBoxMesto.Text
IzmeniRed(1) = TextBoxPozivni.Text
MsgBox(TextBoxMesto.Text)

DataSetMesta.Tables("Mesta").BeginLoadData()
DataSetMesta.Tables("Mesta").LoadDataRow(IzmeniRed, False)

Dim xDataSet As DataSet
xDataSet = DataSetMesta.GetChanges(DataRowState.Modified)

DataSetMesta.AcceptChanges()
DataSetMesta.Tables("Mesta").EndLoadData()

AdapterMesta.Update(xDataSet)

End Sub

Ovaj kod gore povezuje DataSet sa dve TextBox kontrole i nakon pritiska na dugme Promeni treba da unese promene dva polja (Mesto i Pozivni broj) u bazu. Sve radi korektno kada se menja samo polje pozivni broj, ali kada pokušam da promenim polje Mesto koje je Primary Key, dobijam poruku o grešci:
Citat:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
Pitanje je: da li je uopšte moguće promeniti vrednost polja koje je naznačeno kao Primary Key i da li ovo ima veze s tim što koristim Visual Basic.NET (prvu verziju), a baza potiče iz Access-a 2003?
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl.sezampro.yu.



Profil

icon Re: Amatersko pitanje17.02.2006. u 20:48 - pre 220 meseci
Zaboravio sam da objasnim onaj dugačak komentar u početku koda - hteo sam samo da pokažem kako sam konfigurisao DataConnection i DataAdapter, u slučaju da sam tu nešto pogrešio.

Hvala unapred :)
 
Odgovor na temu

Oliver Klaćik
Vice President, Thunder Road Software
Inc.
Stara Pazova

Član broj: 34059
Poruke: 242
80.93.231.*

Sajt: www.thunderroadsoftware.c..


Profil

icon Re: Amatersko pitanje18.02.2006. u 08:22 - pre 220 meseci
Možeš promeniti vrednost polja koje je PrimaryKey, ako time ne povređuješ nijedan Constraint, što ti očigledno radiš. Probaj to isto da uradiš direktno u Access-u, pa vidi gde grešiš. Btw, nema veze koja je verzija...
Oliver 'FAQ' Klaćik
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl.sezampro.yu.



Profil

icon Re: Amatersko pitanje18.02.2006. u 22:46 - pre 220 meseci
Pokušao sam iz Accessa i sve regularno radi. Ako neko kapira u čemu je problem, pogledajte kod iznad i recite da promenim.
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl.sezampro.yu.



Profil

icon Re: Amatersko pitanje20.02.2006. u 21:51 - pre 220 meseci
Ljudi stvarno mi gori pod nogama, ako neko zna kako da rešim ovu kvaku nek ne bude lenj.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
212.200.27.*



+311 Profil

icon Re: Amatersko pitanje21.02.2006. u 07:54 - pre 220 meseci
Prvo, otarasi se ovoga ako ti nije potrebno, a mislim da nije:

Code:

Dim keys(0) As DataColumn
keys(0) = DataSetMesta.Tables("Mesta").Columns("Mesto")
DataSetMesta.Tables("Mesta").PrimaryKey = keys


Takođe, neke linije ti ne trebaju u click događaju a mogle bi da naprave problem, pa bi kod na kraju izgledao ovako
Code:

Private Sub ButtonPromeni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromeni.Click

Dim IzmeniRed(1) As Object
IzmeniRed(0) = TextBoxMesto.Text
IzmeniRed(1) = TextBoxPozivni.Text
MsgBox(TextBoxMesto.Text)

Dim xDataSet As DataSet
xDataSet = DataSetMesta.GetChanges(DataRowState.Modified)

DataSetMesta.AcceptChanges()

AdapterMesta.Update(xDataSet)

End Sub


Ako i dalje ne radi onda pošalji i na kojoj liniji ti se ovo dešava...
Pozdrav!
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl.sezampro.yu.



Profil

icon Re: Amatersko pitanje22.02.2006. u 10:12 - pre 220 meseci
Kada uradim sve navedeno, dobijam novu grešku na liniji "AdapterMesta.Update(xDataSet)" - Value cannot be null. Što mi je ustvari i logično, jer nigde nije učitan niz IzmeniRed u DataSetMesta (linija "DataSetMesta.Tables("Mesta").LoadDataRow(IzmeniRed, False)" je izbačena).
 
Odgovor na temu

[es] :: .NET :: Amatersko pitanje

[ Pregleda: 2323 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.