Problem s korišćenjem baze [VB 2008]

Problem s korišćenjem baze [VB 2008]

offline
  • Pridružio: 20 Jul 2008
  • Poruke: 197

Imam access bazu (accdb) i preko wizard-a sam je konektovao sa novom aplikacijom.

Ovo mi je prvi put da radim s bazom, pa sam na netu našao neki tutorijal.

Kada se učita program, ja u jedan textbox upišem nešto i to treba da pretraži bazu i prikaže ostale podatke.

Međutim, pojavi se jedna glupa greška:


Nepoznati format baze podataka „D:\awork\KARTON1luck.accdb“.

Ne razumem zašto ne radi, kad je kod povezivanja radila.

Sub trazi_ime()         Dim con As New OleDb.OleDbConnection         Dim dbProvider As String         Dim dbSource As String         Dim sql As String         Dim ds As New DataSet         Dim da As OleDb.OleDbDataAdapter         Dim MARIJA As String = TextBox1.Text         da = New OleDb.OleDbDataAdapter(sql, con)         dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"         dbSource = "Data Source = D:\awork\KARTON1luck.accdb"         con.ConnectionString = dbProvider & dbSource         con.Open()         sql = "SELECT MARIJA FROM tblContacts"         da = New OleDb.OleDbDataAdapter(sql, con)         con.Close()         Dim prikaz As String = da.ToString         TextBox1.Text = prikaz     End Sub



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Probaj da napises ovako
dbSource = "Data Source = D:\\awork\\KARTON1luck.accdb"
ili ovako
dbSource = @"Data Source = D:\awork\KARTON1luck.accdb"
Nisam bas siguran kako VB cita stringove koji imaju \ u sebi, ali ako ih cita isto kao i C# onda je u tome problem.



offline
  • Pridružio: 20 Jul 2008
  • Poruke: 197

Napisano: 27 Sep 2010 16:42

Nije mi ništa jasno.

Želim da, ako je kolona ime : Aca, prezime Perić, godište: 1955,
kad u textbox1 upišem Aca, se u textbox2 napiše prezime, a u textbox3 godište.

Da li tu ide select from where?

Može li neki primer?

Ja i kad to nešto pošaljem, ja ne znam kako da iskoristim podatak, to jest, u kojoj varijabli je on skladišten.

Molim za primer.

Dopuna: 27 Sep 2010 16:58

Pokušao sam i ovako,

TextBox2.Text = "SELECT PREZIM FROM IMENIK WHERE IME = MILAN"

ali ne ide.

Kako da rešim ovaj problem?

Dopuna: 27 Sep 2010 17:16

Ma jok, ja ovde ne mogu ni normalno da koristim bazu. Baš se nerviram.

Imam ovo:

 Try         cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\awork\KARTON1luck.accdb;")         'provider to be used when working with access database         cn.Open()         cmd = New OleDbCommand("SELECT FIR_NAZIV, FIR_REGBRO, FIR_SIFDEL, FIR_TIP, KAR_ADRESA, KAR_BROJ, KAR_CAVE, KAR_DRZAVA, KAR_FAKTOR, KAR_GRUPA, KAR_IME, KAR_INVAL, KAR_ISPBRO, KAR_ISPTIP, KAR_KNJIZ, KAR_LBO, KAR_LBONOS, KAR_MATBRO, KAR_MATNOS, KAR_MESTO, KAR_NOSILA, KAR_OSIGUR, KAR_OSNOV, KAR_OTAC, KAR_POKON, KAR_POL, KAR_PREZIM, KAR_RH, KAR_ROD, KAR_RODJEN, KAR_SERUM, KAR_STATUS, KAR_TEL, KAR_TELP, KAR_VID, KOR_SIFRA, KOR_TIP FROM KARTON WHERE KAR_IME = STEFAN ", cn)         dr = cmd.ExecuteReader         TextBox4.Text = "SELECT KAR_PREZIM FROM KARTON WHERE KAR_IME='MILAN'"         'SELECT * FROM Persons WHERE FirstName='Peter'         While dr.Read()             TextBox1.Text = dr(0)             TextBox2.Text = dr(1)             TextBox3.Text = dr(2)             '    TextBox4.Text = dr(3)             TextBox5.Text = dr(4)             TextBox6.Text = dr(5)             TextBox7.Text = dr(6)             TextBox8.Text = dr(7)             TextBox9.Text = dr(8)             TextBox10.Text = dr(9)             TextBox11.Text = dr(10)             TextBox12.Text = dr(11)             TextBox13.Text = dr(12)             TextBox14.Text = dr(13)             TextBox15.Text = dr(14)             ' loading data into TextBoxes by column index         End While         Catch          End Try         'dr.Close()         cn.Close()

To ne radi.

Onda stavim ' izpred try, catch i end try, da se ne bi računali.

Međutim, opet on ne poznaje bazu, kaže "Nepoznati format baze podataka „D:\awork\KARTON1luck.accdb“."

Može li neko, molim vas, da mi sve objasni. Čekam ceo dan, a ne razumem.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Snimi bazu kao .mdb format.

offline
  • Pridružio: 20 Jul 2008
  • Poruke: 197

Uspeo sam da je povežem.

U čemu je problem?

Nisam li dovoljno strpljiv, a čekao sam ceo dan na odgovor?

Da li ima ovde ljudi koji to znaju i da li žele da me upute?

offline
  • Pridružio: 30 Dec 2007
  • Poruke: 4759
  • Gde živiš: Niš

Ali relativno brzo si dobio odgovor Confused

ono može da se dobije i posle 10 min ili posle nedelju dana
a bogumi ostanu i teme bez odgovora smešak
sve je to na trefku ( ♣ ) i ko je prisutan i/ili raspoložan u datom trenutku da odgovori Zagrljaj

Ziveli

offline
  • Pridružio: 20 Jul 2008
  • Poruke: 197

Znam, ali prosto ne razumem da sam ceo dan na kompjuteru i da tražim nešto vrlo jednostavno, što bih znao da objasnim, ali ne i da pretočim u kod.

Mislim da sam bio jasan s potražnjom.

Dakle, SVE što mi je potrebno su par textboxova i jedno dugme.

Kad se ukuca u jedan od textboxova nešto, pa pritisne dugme, on će u ostalim textboxovima prikazati podatke iz reda gde se nalazi unos iz prvog textboxa.

Recimo, imaš Petar, Petrović, arhitekta, 1965., Beograd
Andrej Isaković, inžinjer, 1945., Novi Sad
Matija Nenadović, sveštenik, 1856., Niš

Onda ukucaš u textbox1 "Petar" i pritiskom na dugme u textbox2 mu se prikaže prezime, u textbox3 arhitekta, u t4 1965., a z t5 Beograd.

Samo još kad bih znao kako ovo da uradim.

offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Napisano: 28 Sep 2010 9:15

Evo ti moj savet!!!
Ubaci na formu jedan comboBox koji ce se sam puniti sa svim prezimenima koji imaju ime npr "ACA", tj kada ukucas u svom textboxu neko ime pritiskom na dugme pretrazis i selektujes sva prezimena koja imaju to ime i ta prezimena ti se nalaze u tvom comboboxu a onda uradis kao ja:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string upit1 = "SELECT * from dbo.Kupci WHERE NazivKupca='" +
comboBox1.Text + "'";
SqlCommand komanda1 = new SqlCommand();
komanda1.Connection = konekcija;
komanda1.CommandType = CommandType.Text;
komanda1.CommandText = upit1;
SqlDataReader reader1 = null;
try
{
konekcija.Open();
reader1 = komanda1.ExecuteReader();
if (reader1 != null)
{
while (reader1.Read())
{
adresaTextBox.Text = (reader1[2].ToString());
webAdresaTextBox.Text = (reader1[3].ToString());
sifraDelatnostiTextBox.Text = (reader1[4].ToString());
pIBTextBox.Text = (reader1[5].ToString());
maticniBrojTextBox.Text = (reader1[6].ToString());
telefonTextBox.Text = (reader1[7].ToString());
faxTextBox.Text = (reader1[8].ToString());
brojRacuna1TextBox.Text = (reader1[9].ToString());
banka1TextBox.Text = (reader1[10].ToString());
brojRacuna2TextBox.Text = (reader1[11].ToString());
banka2TextBox.Text = (reader1[12].ToString());
brojRacuna3TextBox.Text = (reader1[13].ToString());
banka3TextBox.Text = (reader1[14].ToString());
brojRacuna4TextBox.Text = (reader1[15].ToString());
banka4TextBox.Text = (reader1[16].ToString());
direktorTextBox.Text = (reader1[17].ToString());
direktorTelTextBox.Text = (reader1[18].ToString());
direktorMailTextBox.Text = (reader1[19].ToString());
nabavljacTextBox.Text = (reader1[20].ToString());
nabavljacTelTextBox.Text = (reader1[21].ToString());
nabavljacMailTextBox.Text = (reader1[22].ToString());
finansijeTextBox.Text = (reader1[23].ToString());
finansijeTelTextBox.Text = (reader1[24].ToString());
finansijeMailTextBox.Text = (reader1[25].ToString());
tehnologTextBox.Text = (reader1[26].ToString());
tehnologTelTextBox.Text = (reader1[27].ToString());
tehnologMailTextBox.Text = (reader1[28].ToString());
brojZavarivacaTextBox.Text = (reader1[29].ToString());
napomenaTextBox.Text = (reader1[30].ToString());
}
}
konekcija.Close();
}
catch (Exception xcp)
{
MessageBox.Show(xcp.ToString());
//throw;
}
Npr u bazi imas
1. ACA Peric
2. ACA Acic
3. ACA Vasic
4. ACA Savic
odabirom u comboboxu na odredjeno prezime tebi ce se popuniti ostali podaci (JMBG, Br LK, ili sta god ti vec zelis)

Jedino je ostaje kako ces to da resis dzajnerski da to ima smisla.

Evo kako sam ja to resio prakticno.

Kada pretrazujem bazu po broju racuna i ukoliko baza ima nekog klijenta sa tim br racuna njegovo ime mi se samo smesti u combobox. Klikom, tj odabirom tog imena u comboboxu izlistavaju se njegovi podatci (vidi gore navedeni kod).

Nadam se da sam bio od neke pomoci


Dopuna: 28 Sep 2010 14:48

P.S. kada sam ti napisao ovo:
"Npr u bazi imas
1. ACA Peric
2. ACA Acic
3. ACA Vasic
4. ACA Savic
odabirom u comboboxu na odredjeno prezime tebi ce se popuniti ostali podaci (JMBG, Br LK, ili sta god ti vec zelis)"

pre toga se podrazumeva da u textboxu otkucas ukucas ime (a u tvom primeru, tj primeru sto sam ti napisao ime je ACA) i klikom na dugme izvrsis pretragu baze i smestis podatke u combobox

Ko je trenutno na forumu
 

Ukupno su 1275 korisnika na forumu :: 60 registrovanih, 6 sakrivenih i 1209 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., aramis s, babaroga, bojank, Brana01, cavatina, celik, cenejac111, croato, darkangel, DejanSt, Denaya, Dimitrise93, djboj, draganca, Duh sa sekirom, dzoni19, gomago, goxin, HogarStrashni, hooraay, HrcAk47, hyla, Ilija Cvorovic, Karla, kikisp, Klecaviks, kokodakalo, Krvava Devetka, kunktator, ljuba, maiden6657, Marko Marković, mercedesamg, Mercury, Mi lao shu, mikrimaus, milenko crazy north, milimoj, milutin134, oganj123, procesor, rasok, repac, royst33, ruma, ruso, Sićko, SR-3m, Srle993, stankolich, suton, vathra, VJ, Vlad000, wolverined4, Wrangler, zeo, šumar bk2