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

C# i sql upit - "Syntax error in FROM statement"

[es] :: .NET :: C# i sql upit - "Syntax error in FROM statement"

[ Pregleda: 3033 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lonelyrider_44
Zrenjanin

Član broj: 42310
Poruke: 445
62.193.158.*



+20 Profil

icon C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 01:10 - pre 177 meseci
Code:

{
komanda.Connection = konekcija;
komanda.CommandText = "SELECT * FROM Proizvod INNER JOIN cjena_proizvoda INNER JOIN stavka_cjenovnika ON stavka_cjenovnika.sifraProizvoda = cjena_proizvoda.sifraProizvoda ON cjena_proizvoda.SifraProizvoda = proizvod.SifraProizvoda";

adPregled.SelectCommand = komanda;
dsPregled.Clear();
adPregled.Fill(dsPregled);

dataGridView1.DataSource = dsPregled.Tables[0];
}


SQL upit koji je ovde upotrebljen sam testirao u Query Analizer-u i radi, nema nikakvih greshaka. Medjutim, kada pokrenem program, pukne pri izvrshenju ovog koda, zaleci se da postoji greshka u FROM delu. Sve deluje ok, bar meni, ali opet ne radi. Malo sam trazio na netu, nekom je problem reshilo kad je imena tabela stavio u uglaste zagrade. Probao sam, ali i dalje ista greshka. Da li neko ima ideju shta bi mogao biti problem i kako ga reshiti ? Koristim VS 2005 Express, ako to ima neke veze. Takodje, kada spajam samo dve tabele, recimo proizvod sa cjena_proizvoda, onda ne pukne program, ali se desi neshto chudno. U gridu mi pokaze i sva polja iz drugih tabela sa kojima je su povezane te dve tabele koje sam naveo u upitu.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.adacta.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 08:22 - pre 177 meseci
Za početak, navedi kriterijum po kome vezuješ tabele Proizvod i cjena_proizvoda.
Code:
SELECT * FROM Proizvod INNER JOIN cjena_proizvoda ON Proizvod.neko_polje = cjena_proizvoda.neko_polje ...

 
Odgovor na temu

lonelyrider_44
Zrenjanin

Član broj: 42310
Poruke: 445
62.193.158.*



+20 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 11:50 - pre 177 meseci
Kad sam dobio email o ovom odgovoru, prvo sam pomislio: nisam valjda napisao takvu glupost ? Medjutim, sad pregledam kod koji sam napisao, i ne vidim shta je to na shta mislish da sam izostavio. "neko_polje" je "sifraProizvoda". Chak i da si u pravu, rekoh da sql upit radi, proverio sam u sql serverovom query analizer-u. Poshto sam chachkao, menjao upit, da vidim kako ce raditi, bilo je moguce da cu izostaviti neshto od originalnog upita, ali koliko vidim, nisam izostavio. Poshto spajam vishe od dve tabele, koliko ja znam, kada je u pitanju INNER JOIN prvo se navode sve tabele, pa tek onda uslovi spajanja. Tako sam i napisao.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.adacta.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 13:15 - pre 177 meseci
Citat:
lonelyrider_44: Poshto spajam vishe od dve tabele, koliko ja znam, kada je u pitanju INNER JOIN prvo se navode sve tabele, pa tek onda uslovi spajanja.

Ne :)
Jer ako tako uradiš, vrlo lako možeš dobiti exception.
Code:
The multi-part identifier ........ could not be bound.
Znači redosled je:
Code:

SELECT
    sta_se_selektuje
FROM
    prva_table
    INNER JOIN druga_tabela ON uslov(i)_spajanja
    INNER JOIN treca_tabela ON uslov(i)_spajanja
...

Da li si prošao kroz debbuger i video tačno koja se greška javlja?
 
Odgovor na temu

lonelyrider_44
Zrenjanin

Član broj: 42310
Poruke: 445
62.193.158.*



+20 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 15:24 - pre 177 meseci
"Syntax error in From clause". To me najvishe zbunjuje, shto se zali na sintaksu upita, a upit je testiran i radi, takav kakav jeste.
Za takvo formulisanje INNER JOIN-a sam mozda chuo, ali nisam nikad koristio tako da sam i zaboravio, ako sam i znao ikad. Nachin koji sam pomenuo mi se ipak chini nekako pregledniji u kodu. No dobro, to je vec stvar ukusa, i nije mi jasno ako su oba ispravna, zashto bi se tu javljala greshka ? Meni se chini da je ovo pomalo bug...

Probao sam da formulishem sql upit kako si predlozio i on sada izgleda ovako:

"SELECT * FROM Proizvod INNER JOIN cjena_proizvoda ON cjena_proizvoda.SifraProizvoda = proizvod.SifraProizvoda INNER JOIN stavka_cjenovnika ON stavka_cjenovnika.sifraProizvoda = cjena_proizvoda.sifraProizvoda";

I sada vishe nema greshke u from klauzi. Sada mu fali operator. :D
Poruka:
"Syntax error (missing operator) in query expression 'cjena_proizvoda.SifraProizvoda = proizvod.SifraProizvoda INNER JOIN stavka_cjenovnika ON stavka_cjenovnika.sifraProizvoda = cjena_proizvoda.sifraProizvoda'."

Inache, i sada kad sam promenio upit, testirao sam ga u sql serveru i daje rezultate bez ikakve greshke. Napravio sam drugi projekat, samo forma, datagrid i dugme za prikaz rezultata tog upita, i opet prijavljuje greshku.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
93.86.151.*

Sajt: www.dcaric.com


+26 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 18:08 - pre 177 meseci
Hmm...
A da okačiš .cs fajl pa da pogledamo?
 
Odgovor na temu

lonelyrider_44
Zrenjanin

Član broj: 42310
Poruke: 445
62.193.158.*



+20 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 18:37 - pre 177 meseci
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbCommand komanda = new OleDbCommand();
OleDbConnection konekcija = new OleDbConnection();

DataSet dsPregled = new DataSet();
OleDbDataAdapter adPregled = new OleDbDataAdapter();

private void Form1_Load(object sender, EventArgs e)
{
try
{
konekcija = new OleDbConnection();
konekcija.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Apoteka.mdb";
konekcija.Open();
komanda = new OleDbCommand();
komanda.CommandText = "SELECT * FROM JedinicaMjere,Proizvod,TipProizvoda,Cjena_Proizvoda,Firma WHERE TipProizvoda.SifraTipaProizvoda = Proizvod.SifraTipaProizvoda AND Proizvod.SifraJediniceMjere = JedinicaMjere.SifraJediniceMjere AND Cjena_Proizvoda.SifraProizvoda = Proizvod.SifraProizvoda AND Cjena_Proizvoda.SifraFirme = Firma.SifraFirme";

komanda.Connection = konekcija;

adPregled = new OleDbDataAdapter();
dsPregled = new DataSet();
adPregled.SelectCommand = komanda;
adPregled.Fill(dsPregled);
if (dsPregled.Tables[0].Rows.Count > 0)
{
int _rbSloga = 0;
// PostaviPodatke();
}
else
MessageBox.Show("Nema podataka u tabeli proizvod!");

dataGridView1.DataSource = dsPregled.Tables[0];

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}

private void button1_Click(object sender, EventArgs e)
{
komanda.Connection = konekcija;
//komanda.CommandText = "SELECT * FROM Proizvod INNER JOIN cjena_proizvoda INNER JOIN stavka_cjenovnika ON stavka_cjenovnika.sifraProizvoda = cjena_proizvoda.sifraProizvoda ON cjena_proizvoda.SifraProizvoda = proizvod.SifraProizvoda";
komanda.CommandText = "SELECT * FROM Proizvod INNER JOIN cjena_proizvoda ON cjena_proizvoda.SifraProizvoda = proizvod.SifraProizvoda INNER JOIN stavka_cjenovnika ON stavka_cjenovnika.sifraProizvoda = cjena_proizvoda.sifraProizvoda";

adPregled.SelectCommand = komanda;
dsPregled.Clear();
adPregled.Fill(dsPregled);

dataGridView1.DataSource = dsPregled.Tables[0];
}
}
}

A evo i link za ceo projekat, zajedno sa bazom.

http://rapidshare.com/files/27...5/WindowsApplication1.zip.html
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
93.86.151.*

Sajt: www.dcaric.com


+26 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"11.09.2009. u 19:45 - pre 177 meseci
1. Konekciju nisi zatvorio u FormLoad
2. OleDbCommand i OleDbConnection ne treba da su global, već ih kreiraš u svakoj funkciji.
3. Sve vreme pominješ sql server, a radiš sa access-om koji je priča za sebe
Code:

private void button1_Click(object sender, EventArgs e)
{
    // diskutabilno
    dsPregled.Clear();

    using (konekcija = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Apoteka.mdb"))
    {
        komanda = konekcija.CreateCommand();
        komanda.CommandText = "SELECT * FROM (PROIZVOD INNER JOIN STAVKA_CJENOVNIKA ON PROIZVOD.[SIFRAPROIZVODA] = STAVKA_CJENOVNIKA.[SIFRAPROIZVODA]) INNER JOIN CJENA_PROIZVODA ON PROIZVOD.[SIFRAPROIZVODA] = CJENA_PROIZVODA.[SIFRAPROIZVODA];";

        adPregled.SelectCommand = komanda;
        adPregled.Fill(dsPregled);
    }
}

 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"12.09.2009. u 10:50 - pre 177 meseci
komanda.CommandText = "SELECT * FROM Proizvod INNER JOIN Cjena_proizvoda ON Cjena_proizvoda.SifraProizvoda=Proizvod.SifraProizvoda INNER JOIN Stavka_cjenovnika ON Stavka_cjenovnika.sifraProizvoda=Cjena_proizvoda.SifraProizvoda";

Po tvom gornjem upitu, postoji veza izmedju tabela: Stavka_cjenovnika i Cjena_proizvoda. Ako sam ja dobro vidio dijagram relacija za tvoju bazu bazu, ove dvije tabele nisu ni u kakvoj relaciji ! U relaciji su Proizvod i Cjena_proizvoda, Cjena_proizvoda i Cjenovnik, ali, kao sto rekoh, Cjena_proizvoda i Stavka_cjenovnika nisu ni u kakvoj relaciji (pogledaj dijagram relacija ...).
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"12.09.2009. u 10:56 - pre 177 meseci
Jos nesto:

OleDbCommand komanda;// = new OleDbCommand();
OleDbConnection konekcija;// = new OleDbConnection();

DataSet dsPregled;// = new DataSet();
OleDbDataAdapter adPregled;// = new OleDbDataAdapter();

private void Form1_Load(object sender, EventArgs e)
{
try
{
konekcija = new OleDbConnection();
konekcija.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Apoteka.mdb";
konekcija.Open();
komanda = new OleDbCommand();
komanda.CommandText = "SELECT * FROM JedinicaMjere,Proizvod,TipProizvoda,Cjena_Proizvoda,Firma WHERE TipProizvoda.SifraTipaProizvoda = Proizvod.SifraTipaProizvoda AND Proizvod.SifraJediniceMjere = JedinicaMjere.SifraJediniceMjere AND Cjena_Proizvoda.SifraProizvoda = Proizvod.SifraProizvoda AND Cjena_Proizvoda.SifraFirme = Firma.SifraFirme";

komanda.Connection = konekcija;

adPregled = new OleDbDataAdapter();
dsPregled = new DataSet();
adPregled.SelectCommand = komanda;

Nema potrebe da na dva mjesta pises da je komanda = new OleDbCommand() ili konekcija = new OleDbConnection() i slicno. Za ovu svrhu je najbolje koristiti operator using. Onda je 'zivotni vijek' objekta, koji se koristi u okviru using bloka, iskljucivo u okviru tog bloka (sto znaci da ce po izlasku iz using bloka, metod Dispose() za taj objekat biti sigurno pozvan).
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"12.09.2009. u 11:12 - pre 177 meseci
komanda.CommandText = @"SELECT PROIZVOD.SIFRAPROIZVODA, PROIZVOD.SIFRATIPAPROIZVODA, PROIZVOD.SIFRAJEDINICEMJERE, PROIZVOD.NAZIVPROIZVODA, PROIZVOD.PDV, PROIZVOD.MARZA, PROIZVOD.ROKVAZENJA, PROIZVOD.KOLICINAZALIHE, CJENA_PROIZVODA.SIFRAPROIZVODA AS Expr1, CJENA_PROIZVODA.SIFRAFIRME, CJENA_PROIZVODA.NABAVNACIJENA, STAVKA_CJENOVNIKA.SIFRAPROIZVODA AS Expr2, STAVKA_CJENOVNIKA.SIFRACJENOVNIKA, STAVKA_CJENOVNIKA.CIJENA_PROIZVODA
FROM ((PROIZVOD INNER JOIN CJENA_PROIZVODA ON CJENA_PROIZVODA.SIFRAPROIZVODA = PROIZVOD.SIFRAPROIZVODA) INNER JOIN
STAVKA_CJENOVNIKA ON STAVKA_CJENOVNIKA.SIFRAPROIZVODA = CJENA_PROIZVODA.SIFRAPROIZVODA)";


Ovo je upit koji generise sam Studio kad kreiras new query (sa upitom iz tvog koda) - ubaci i probaj, ovo radi ...
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
*.adsl.beotel.net.



+18 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"02.10.2009. u 12:33 - pre 177 meseci
Pozdrav svima...
Interesuje me kako u C# selektovati max vrednost nekog polja iz access tabele, pomocu SQL upita.

Probao sam ovako ali ne ide:

Code:

OleDbCommand objCommand1 = new OleDbCommand("SELECT Max [ID] FROM potrosaci",objConnection);


Ili prvu vrednost nekog polja ( TOP (1) ).

 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.kwcp.net.

Sajt: www.mika.rs


+6 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"02.10.2009. u 18:27 - pre 177 meseci
MAX() je funkcija, stoga met'i zagradu oko [ID]. Mogao bi da korisits try...catch blokove, cudo jedno koliko poruke sa greskama mogu da pomognu.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
91.148.81.*



+18 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"03.10.2009. u 08:39 - pre 177 meseci
Hmmm... probao sam i to, nesto nece, ali sam se na kraju snasao sa TOP...

E sad imam drugi problem sa UPDATE-om.

Code:

OleDbCommand objCommand = new OleDbCommand("UPDATE potrosaci SET [polje1]='" +parametar1+ "',
[polje2]='" +parametar2+ "'WHERE [polje3]='" +parametar3+ "'", objConnection);
objCommand.ExecuteNonQuery();


na objCommand mi javlja gresku:

Data type mismatch in criteria expression.

E sad parametar 1 i 2 su stringovi, a pripadajuca polja u access-u Text.
parametar 3 je integer, a pripadajuce polje Number.
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
91.148.88.*

ICQ: 20785904


+4 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"03.10.2009. u 13:06 - pre 177 meseci
stavi taj param3 da bude bez jednostrukih apostrofa
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
91.148.81.*



+18 Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"03.10.2009. u 13:30 - pre 177 meseci
Ha sallle, to je to...HVALA
 
Odgovor na temu

draey
Dragan Mirkovski
student

Član broj: 247137
Poruke: 1
79.125.239.*



Profil

icon Re: C# i sql upit - "Syntax error in FROM statement"14.01.2010. u 19:51 - pre 173 meseci
Jel mozhe nov link sa projektom taj stari ne radi !
Hvala
 
Odgovor na temu

[es] :: .NET :: C# i sql upit - "Syntax error in FROM statement"

[ Pregleda: 3033 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

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