C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 652.158
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
offline
Re: C# - Problemi i rješenja
Badjo_5 kaže...

Trebao bih u stringu zamjeniti prvo sva mala slova u velika (replace) i nakom ovoga sva slova sa dijakritičkim znakovima prebaciti u 'normalna' slova. Pada mi na pamet replace, nije mi čak ni brzina previše bitna, ali tražim elegantnije rješenje. Ideja?

 

Edit:

Očito ne znam napraviti velika slova (upercase)

 Imap ToUpper/ToLower metodu. Ako ces mijenjati dijakritike s replaceom rađe koristi stringBuilder da ne stvaraš novi string sa svakom promjenom.

Ako nisi zadovoljan sobom okreči ju ponovno
8 godina
offline
Re: C# - Problemi i rješenja

Dečki jer vi razumjete što je string i kako je složena ASCII tablica. Iskoristite to, kakvi StringBuilderi i ToUpper/Lower metode. 

13 godina
offline
Re: C# - Problemi i rješenja
andrijam kaže...

Dečki jer vi razumjete što je string i kako je složena ASCII tablica. Iskoristite to, kakvi StringBuilderi i ToUpper/Lower metode. 

 A jel ti razumiješ da je string immutable i da svakom promjenom u stringu zapravo stvaraš potpuno novi string? 

Ako nisi zadovoljan sobom okreči ju ponovno
8 godina
offline
Re: C# - Problemi i rješenja

Daa, u čemu je problem StringBuilder isto alocira memoriju i to koliko memorije i na koji način?, Lower/Upper isto.

Npr. ovako može napraviti svu manipulaciju stringom u jednom koraku.

 

var str = "Like A Boss";
Console.WriteLine(str);

// Nisam odolio da ne zakompliciram :-)
str = new string(str.Select(s => (s > 64 && s < 91) ? (char)(s | (char)96) : s).ToArray());

 // str = new string(str.Select(s => char.IsLower(s) ? char.ToUpper(s) : s).ToArray());


Console.WriteLine(str);

Poruka je uređivana zadnji put sub 8.9.2018 0:08 (andrijam).
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Malo štuca za 

var str = "Šibica na Ćošku";

 

 

8 godina
offline
Re: C# - Problemi i rješenja

Vražiji Unicode i UTF-16 . Neka si sami popravljaju. Ima ispod skriveno rješenje pa neka djeca uče progrmirati.

Poruka je uređivana zadnji put ned 9.9.2018 0:58 (andrijam).
14 godina
offline
C# - Problemi i rješenja

Pozdrav društvo,

 

početnik sam u programiranju. Započeo sam jedan projekt kojeg radim i usput učim. Zapeo sam na jednom problemu kojeg ne znam riješiti.

Imam dvije tablice u bazi MySQL, iz jedne samo povlačim podatke koje se prikazuju u ComboBoxu koji se kasnije unose u drugu tablicu (tabice su međusobno povezane preko vanjskog ključa).

 

Naišao sam na problem kod inserta u bazu, svaki put kod inserta mi se ubacuje 0, umjesto id-a.

 

Ima li tko možda kakvu ideju gdje griješim ili šta trebam napraviti?

 

Hvala Vam.

 

 

//ispis u ComboBox

public void Fillcombo()
{
//spajanje na bazu
string _conStr = "Server=localhost;Port=3306;Database=nekretnine;Uid=nekret;Pwd=radnekret;";
string Query = "select * from nekretnine.status;";
MySqlConnection mysqlCon = new MySqlConnection(_conStr);
MySqlCommand cmdmysql = new MySqlCommand(Query, mysqlCon);
MySqlDataReader myReader;
try
{
mysqlCon.Open();
myReader = cmdmysql.ExecuteReader();

while (myReader.Read())
{

string sName = myReader.GetString("statnekret");
string sName2 = myReader.GetString("id_status");
un_stat.Items.Add(sName);
un_stat.ValueMember = sName2;

 

}
}

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

 

}

 

//insert u bazu

private void unos_Click(object sender, EventArgs e)
{
//spajanje na bazu
string _conStr = "Server=localhost;Port=3306;Database=nekretnine;Uid=nekret;Pwd=radnekret;";
string sQuery = "select * nekretnine.narav;";


string Query = "insert into test (id_status) values ('" +this. un_stat.SelectedValue.ToString() + "');";

MySqlConnection conDataBase = new MySqlConnection(_conStr);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
MySqlDataReader myReader;

try
{
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
MessageBox.Show("Spremljeno!");
while (myReader.Read())
{

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

}
}

Imagine all the things we could accomplish if we could all stop being d***s for like, 5 minutes
Moj PC  
0 0 hvala 0
16 godina
offline
Re: C# - Problemi i rješenja

Identity na ID-u te tablice imaš? Moguće da ti to nije napravljeno pa ti zato javlja grešku.

Jesu li isti tip podatka taj id_status u bazi i aplikaciji? Možda ti i zbog toga ne radi.

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
11 godina
neaktivan
offline
C# - Problemi i rješenja

@Sayler nisam nikako radio sa MySql bazom ali pretpostavljam da je ista stvar kao i sa MSSQL-om.

 

Ovako kada radiš neki dohvat podataka npr želiš čitati neke podatke iz tablice tad koristiti DataReader i ovome slučaju što si gore napravi čini se ok čitaš podatke iz baze i puniš combo box sa vrijednostima.

 

Ali kod inserta da bi spremio podatke u bazu koristiš DataReader što mislim da nije ispravno ako želiš spremiti podatke možeš koristiti ExecuteScalar ili ExecuteNonQuery metodu klase MySqlCommand.

 

Execute scalar -  koristiš većinom kad nad bazom želiš dohvatiti samo jednu vrijednost npr. Select adresa_zgrade from nekretnine i ako ne postaviš where uvjet u svom query-u ova metoda vrati prvu adresu zgrade koja je zapisana u bazi.

 

Sa execute scalar može izvršiti update i insert query nad bazom.

 

Naljbolja je praksa kod update-a ili insert-a koristiti metodu ExecuteNonQuery jer ova metoda vraća broj redaka koji su u bazi insertani/ažurirani, tako ako vrati 0 upit nad bazom nije prošao nešto nije uredu s query-em ako je > 0 onda znači da je upit prošao.

 

Npr. u tvome slučaju, namjerno sam u zagradu stavio field umjesto id_status jer nije dobro da sam u bazi insertaš id vrijednosti jer vrijednosti id-a moraju biti jedinstvene, kao što je @Pero Dinamit napisao provjeri jesi li postavio ID kolonu da ima identity (ovo se koristi u MSSQL-u, guglanjem vidim da je u MySql-u AUTO_INCREMENT), pusti MySql server da se brine o vrijednostima ID-a.

 

string _conStr = "Server=localhost;Port=3306;Database=nekretnine;Uid=nekret;Pwd=radnekret;";

int o = -1;


string Query = "insert into test (field) values ('" +this. un_stat.SelectedValue.ToString() + "');";

MySqlConnection conDataBase = new MySqlConnection(_conStr);
MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);


o = cmdDataBase.ExecuteNonQuery();

 

if(o > 0)

   MessageBox.Show("Uspješno ažuriran/insertan podatak u bazi.");

else

   MessageBox.Show("Podatak nije ažuriran/insertan u bazi!");

Poruka je uređivana zadnji put pon 24.9.2018 20:14 (Xyloto).
 
1 0 hvala 1
6 godina
neaktivan
offline
Re: C# - Problemi i rješenja
andrijam kaže...

Daa, u čemu je problem StringBuilder isto alocira memoriju i to koliko memorije i na koji način?, Lower/Upper isto.

Npr. ovako može napraviti svu manipulaciju stringom u jednom koraku.

 

var str = "Like A Boss";
Console.WriteLine(str);

// Nisam odolio da ne zakompliciram :-)
str = new string(str.Select(s => (s > 64 && s < 91) ? (char)(s | (char)96) : s).ToArray());

 // str = new string(str.Select(s => char.IsLower(s) ? char.ToUpper(s) : s).ToArray());


Console.WriteLine(str);

 

Malo za salu a malo i ozbiljno: toj kodi nedostaje komentar, koji objasni, cemu ona sluzi. Dobra stara praksa je, da komentar treba biti kratak i jasan, a u svakom slucaju kraci od samog koda. Prihvatas izazov, da napises jos komentar za tu kodu, prateci neke uobicajene smjernice? ;-)

May the source be with you.
Poruka je uređivana zadnji put uto 30.10.2018 7:30 (F.R.C.).
8 godina
offline
Re: C# - Problemi i rješenja

U ovom kodu po meni ne postoji ništa vrijedno komentiranja, al da pojasnim (s > 64 && s < 91) u ASCII tablici provjeri da li je veliko slovo, ako je onda mu postavi 6 bit na 1 (char)(s | (char)96)  96  je binarno 01100000. I tako se prebaci u mala slova, jer su u malim slovima  6 i 7 bit su uvjek 1, pa sam mogao sam koristiti i 32 (dec) 00100000 (bin), izmjena 6tog bita u 1 bila bi dovoljna za konvertirati u malo slovo. Ovako izgleda binarna ascii tablica https://racunarskapismenost.files.wordpress.com/2014/09/kod-3-e1410715398755.png.

 

Ovaj kod neće raditi ispravno za UNICODE znakove!

6 godina
neaktivan
offline
Re: C# - Problemi i rješenja
andrijam kaže...

U ovom kodu po meni ne postoji ništa vrijedno komentiranja, al da pojasnim (s > 64 && s < 91) u ASCII tablici provjeri da li je veliko slovo, ako je onda mu postavi 6 bit na 1 (char)(s | (char)96)  96  je binarno 01100000. I tako se prebaci u mala slova, jer su u malim slovima  6 i 7 bit su uvjek 1, pa sam mogao sam koristiti i 32 (dec) 00100000 (bin), izmjena 6tog bita u 1 bila bi dovoljna za konvertirati u malo slovo. Ovako izgleda binarna ascii tablica https://racunarskapismenost.files.wordpress.com/2014/09/kod-3-e1410715398755.png.

 

Ovaj kod neće raditi ispravno za UNICODE znakove!

 

Ipak je objasnjenje poprilicno dugacko. A zbog uvodne izjave sam bio slobodan negativno ocijeniti poruku/odgovor. ;-)

 

Lambda-Expressions jesu vrlo popularni medju mladjim programerima i izgledaju "cool", ali odrzavanje aplikacije napisane na takav nacin poslije dvije ili tri godine, kad treba nesto dogradit ili nadgradit postaje prava nocna mora. Narocito znaju biti problematicne gnijezdene petlje, koje su u lambdama nekako sakrivene a mogu imati velik utjecaj na brzinu izvodjenja. Ako pravite aplikacije, koje ce imati duzi rok trajanja (neke moje aplikacije su u uporabi vec tamo, od 2003 i .NET 1.1), izbjegavajte necitljive konstrukte i kometrar neka uvijek opisuje zeljenu operaciju. U tvom slucaju npr.:

 

Za pretvorbu velikih slova (64..91) u mala ako je u pitanji ASCII tabela, dovoljno je podesiti sesti bita na 1 

 

Iz neceg takvog (ispricavam se na slabijem znanju jezika) moze netko i poslije par godina skuziti, koju je namjeru programer imao, kad je pisao kod. U tom duhu je mnogo put bolja uporaba dobrih starih (verbose) konstrukta, ako gledam iz izkustva i prakse. 

May the source be with you.
8 godina
offline
Re: C# - Problemi i rješenja

Mislim da nisi shvatio zašto je taj kod baš tako napisan. Jer nisi pratio thread od početka.

16 godina
offline
Re: C# - Problemi i rješenja
F.R.C. kaže...
andrijam kaže...

U ovom kodu po meni ne postoji ništa vrijedno komentiranja, al da pojasnim (s > 64 && s < 91) u ASCII tablici provjeri da li je veliko slovo, ako je onda mu postavi 6 bit na 1 (char)(s | (char)96)  96  je binarno 01100000. I tako se prebaci u mala slova, jer su u malim slovima  6 i 7 bit su uvjek 1, pa sam mogao sam koristiti i 32 (dec) 00100000 (bin), izmjena 6tog bita u 1 bila bi dovoljna za konvertirati u malo slovo. Ovako izgleda binarna ascii tablica https://racunarskapismenost.files.wordpress.com/2014/09/kod-3-e1410715398755.png.

 

Ovaj kod neće raditi ispravno za UNICODE znakove!

 

Ipak je objasnjenje poprilicno dugacko. A zbog uvodne izjave sam bio slobodan negativno ocijeniti poruku/odgovor. ;-)

 

Lambda-Expressions jesu vrlo popularni medju mladjim programerima i izgledaju "cool", ali odrzavanje aplikacije napisane na takav nacin poslije dvije ili tri godine, kad treba nesto dogradit ili nadgradit postaje prava nocna mora. Narocito znaju biti problematicne gnijezdene petlje, koje su u lambdama nekako sakrivene a mogu imati velik utjecaj na brzinu izvodjenja. Ako pravite aplikacije, koje ce imati duzi rok trajanja (neke moje aplikacije su u uporabi vec tamo, od 2003 i .NET 1.1), izbjegavajte necitljive konstrukte i kometrar neka uvijek opisuje zeljenu operaciju. U tvom slucaju npr.:

 

Za pretvorbu velikih slova (64..91) u mala ako je u pitanji ASCII tabela, dovoljno je podesiti sesti bita na 1 

 

Iz neceg takvog (ispricavam se na slabijem znanju jezika) moze netko i poslije par godina skuziti, koju je namjeru programer imao, kad je pisao kod. U tom duhu je mnogo put bolja uporaba dobrih starih (verbose) konstrukta, ako gledam iz izkustva i prakse. 

 Pa dobro, da je stavio objašnjenje u kod vjerojatno bi samo napisao pretvaranje velikih slova u mala, ovako je malo dulje objasnio kod na tvoj zahtjev.

 

Kako god, koristio bitwise OR operator, na int vrijednost chara dodao 32 ili charu dodao char razmak rezultat je isti, onom tko kuži dovoljna je opaska što kod radi, a takvi valjda i pišu aplikacije. On nije stavio komentar jer svi unaprijed znaju što kod radi.

 

Što se tiče tvoje opaske na lambdu, vjerojatno si u pravu, ali za ove jednostavne stvari bi mogla proći.

Poruka je uređivana zadnji put uto 30.10.2018 16:13 (Floki).
15 godina
offline
C# - Problemi i rješenja

Ja ne kuzim sto ne valja s lambdama...

U kombinaciji s linq su intuitivne

Poruka je uređivana zadnji put čet 1.11.2018 17:09 (CroNk3r).
Moj PC  
1 0 hvala 0
16 godina
offline
Re: C# - Problemi i rješenja

To sam i ja mislio napisati, ali pošto je tema malo živnula nisam htio skretati s teme kakva god ona bila. 

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
16 godina
offline
Re: C# - Problemi i rješenja
F.R.C. kaže...

Lambda-Expressions jesu vrlo popularni medju mladjim programerima i izgledaju "cool", ali odrzavanje aplikacije napisane na takav nacin poslije dvije ili tri godine, kad treba nesto dogradit ili nadgradit postaje prava nocna mora. Narocito znaju biti problematicne gnijezdene petlje, koje su u lambdama nekako sakrivene a mogu imati velik utjecaj na brzinu izvodjenja. Ako pravite aplikacije, koje ce imati duzi rok trajanja (neke moje aplikacije su u uporabi vec tamo, od 2003 i .NET 1.1), izbjegavajte necitljive konstrukte i kometrar neka uvijek opisuje zeljenu operaciju. U tvom slucaju npr.:

 

Za pretvorbu velikih slova (64..91) u mala ako je u pitanji ASCII tabela, dovoljno je podesiti sesti bita na 1 

 

Iz neceg takvog (ispricavam se na slabijem znanju jezika) moze netko i poslije par godina skuziti, koju je namjeru programer imao, kad je pisao kod. U tom duhu je mnogo put bolja uporaba dobrih starih (verbose) konstrukta, ako gledam iz izkustva i prakse. 

Ja bih se izuzetno ne složio s ovime.
Lambda nisu baš niti nove, niti da su samo za mlađu populaciju (Javascript je efektivno jezik napisan oko filozofije koju lambda izrazi koriste). Također, ako govorimo o .NET-u, lambde su nešto na čemu se temelji moderni način pisanja aplikacija (ne znam, recimo prvo što mi pada na pamet je Fluent API u EF Coreu, naspram starog EF-a).
Preglednost ili nepreglednost koda nema nikakve veze sa lambda izrazima. Štoviše, pravilno njihovo korištenje može uvelike olakšati čitanje koda. Također, komentari kada se koriste kao alat opisa što kod radi su jedan od najgorih grešaka koji se pojavljuju u kodu. Ono što na ovom primjeru nedostaje sa stajališta čitkost je najobičnija enkapsulacija.

 

var nekiPocetniString = "Blah blah blah";
nekiPocetniString

   .ToUpper()

   .ReplaceDiacriticSingsWithOrdinaryCounterparts();

 

Čim smo pravilno enkapsulirali kod, niti su nam potrebni komentari, niti se troši puno vremena na shvaćanje koda, a još smo besplatno dobili i separacije. Jedino što nisam siguran je kako se dijakritički znakovi pišu na engleskom. 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
14 godina
offline
C# - Problemi i rješenja

Kako prikazati naša slova u popisu datoteka iz *.zip datoteke?

Čitam sadržaj datoteka iz *.zip datoteke, da vidim dal sadrži sve potrebne datoteke, ali umjesto naših slova dobivam hijeroglife. 

Čitam i sadržaj pojedinog direktorija i to je ok. Jedino kaj mi pada na pamet u *.zip datoteci je .Replace, ali to nije neko rješenje.

koristim dotnet 4.7.2 i sljedeći kod:

Microsoft.Win32.OpenFileDialog zipdlg = new Microsoft.Win32.OpenFileDialog();
zipdlg.DefaultExt = ".zip";
zipdlg.Filter = "ZIP Files (*.zip)| *.zip";
Nullable<bool> result = zipdlg.ShowDialog();
if(result==true)
{
string filename = zipdlg.FileName;
dirTextBox.Text = zipdlg.FileName;
float length = new System.IO.FileInfo(filename).Length;///1048576;
dirTextBox.Text += " ("+Math.Round(length/1048576,2) + "MB)";
using (ZipArchive zip = ZipFile.Open(filename, ZipArchiveMode.Read))
foreach (ZipArchiveEntry entry in zip.Entries)
{
if (entry.Name == "")
{
conDir = 1;//MessageBox.Show("DIREKTORIJ");
//punjenje liste
}
else
{
//punjenje liste
Var.lovl.Add(replace(entry.Name));
//dirFilesTbx.Text += (entry.Name + Environment.NewLine);
}
}
if (conDir == 1)
MessageBox.Show("GREŠKA: ZIP datoteka sadrži direktorije!");

[URL=&quot;http://goo.gl/KpG4TT&quot;]ANKETA[/URL] o kineskim mobitelima i [URL=&quot;http://goo.gl/xLCF5F&quot;]REZULTATI[/URL] ankete
 
0 0 hvala 0
14 godina
offline
Re: C# - Problemi i rješenja

Riješeno, ova linija mora ovako izgledati:

using (ZipArchive zip = ZipFile.Open(filename, ZipArchiveMode.Read, Encoding.GetEncoding("CP852")))

[URL=&quot;http://goo.gl/KpG4TT&quot;]ANKETA[/URL] o kineskim mobitelima i [URL=&quot;http://goo.gl/xLCF5F&quot;]REZULTATI[/URL] ankete
13 godina
offline
C# - Problemi i rješenja

Mali problemčić, nakon što sam se uspio probiti kroz hrpu joinova, zbog toga što datoteke baze nisu ispravne ni rezultat nije ispravan

 

var rezultat =  from osobe in upisane_osobe
                join adrese in adrese_osoba on osobe.radnik_ID equals adrese.radnik_ID
                join listovi ...................

 

Problem je što datoteka sa osobama ima recimo 10 osoba. Datoteka sa adresama NEMA adrese za sve osobe ima ih recimo 5, te onda kao rezultat dobijem 5 zapisa, naravno, trebao bih imati 10.

Može li se ovo napisati nekako drugačije. Taj join bi trebao biti 'labav', ako možeš spoji, ako ne možeš, ostavi mi osobu bez adrese...

 

 

Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Treba ti left outer join:

 

var rezultat =  from osobe in upisane_osobe
               left join adrese in adrese_osoba on osobe.radnik_ID equals adrese.radnik_ID
                join listovi ...................

 

13 godina
offline
Re: C# - Problemi i rješenja

Hm, ovaj left mi daje grešku u ovom obliku.

Pokušavam složiti na drugačiji način (preko DefaultIfEmpty()), ali mi onda ne napravi ništa. Nije li možda stvar u slijedećem join?

Framework je 4.0, nadam se da će proći i na 3.5... I nije upitanju nikakva baza, obične flat datoteke.

 

16 godina
offline
Re: C# - Problemi i rješenja

Probaj ovako

 

var rezultat = from osobe in upisane_osobe

           join adrese in adrese_osoba on osobe.radnik_ID equals adrese.radnik_ID into y

           from x in y.DefaultIfEmpty()

           select....

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
13 godina
offline
Re: C# - Problemi i rješenja

I opet neće:

 

var rezultat = from osobe in upisane_osobe
                  join adrese in adrese_osoba on osobe.radnik_ID equals adrese.radnik_ID into y
                  from x in y.DefaultIfEmpty()
                       select new { osobe.radnik_ID, osobe.omjer, osobe.naziv, x.adresa_sve };

 

Koliko sam skužio ovo mogu podjeliti na više, da tako kažem sql-ova, tako da imam novu tablicu sa ovim podacima, pa drugu tablicu isto proizvod više drugih tablica i na kraju završni rezultat opet join, samo ovaj put

 

var kraj = from podatak in rezultat

                join nabava in tablica_nabave on podatak.radnik_ID equals nabava.radnik_ID

 

Već sam pomalo lud (i ne pomalo), svima radi samo meni ne

 

16 godina
offline
Re: C# - Problemi i rješenja

radnik_ID u tablici adrese ti je nullable? Krivo, FK radnik_ID u tablici osobe ti treba biti nullable.

 

Kakav rezultat dobiješ? Kako ti izgledaju te dvije tablice?

 

Evo vidi ovo, probaj po tome. odmah prva rečenica

A left outer join is a join in which each element of the first collection is returned, regardless of whether it has any correlated elements in the second collection.

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
Poruka je uređivana zadnji put pon 17.12.2018 13:53 (Pero Dinamit).
13 godina
offline
Re: C# - Problemi i rješenja

Ma sve sam napraio prema ovome, ali kad sam malo bolje promotrio, ovo je debug:

 

Hrvoje Horvat  101  Bjelovar

Marković Marko  100  Zagreb

Exception thrown: 'System.NullReferenceException' in Unknown Module.
Exception thrown: 'System.NullReferenceException' in Unknown Module.

 

a ako maknem ono x.adresa_sve iz izraza

var rezultat = from osobe in upisane_osobe
                  join adrese in adrese_osoba on osobe.radnik_ID equals adrese.radnik_ID into y
                  from x in y.DefaultIfEmpty()
                       select new { osobe.radnik_ID, osobe.omjer, osobe.naziv, x.adresa_sve };

 

Hrvoje Horvat  101  

Marković Marko  100 
Predrag Predragović 105
Predrag Predragovoić 105 (za ovaj upis nema adrese u adresama, za prva dva postoji)

 

Očito imam upis u tablici ali je sad pitanje kako se riješiti Null Reference Exception.

Idem se malo poigrati.

 

EDIT:

Proradilo, 'zamaskirao' sam prema onome što mi je Dinamit rekao (tj. link) u zadnjem redu upita:

 

   select new { osobe.radnik_ID, osobe.omjer, osobe.naziv, adresa = x?.adresa_sve ?? String.Empty };

 

Hvala svima

 

U stvari štima cijelo vrijeme, jedino nisam skužio da mi baca null reference....

Nisam na ti ni sa SQL niti LINQ, trebalo me samo okrenuti i pogurati.

 

 

 

Poruka je uređivana zadnji put pon 17.12.2018 20:23 (Badjo_5).
16 godina
offline
Re: C# - Problemi i rješenja

Trebao si odmah staviti grešku koju ti baca, riješilo bi se i prije. Ali neka, bitno da si skužio sada i da ti radi.

Dvije su stvari beskonačne - svemir i ljudska glupost. Za svemir nisam siguran - Einstein
13 godina
offline
Re: C# - Problemi i rješenja

Problem i je u tome da nisam dobio nikakvu grešku (upisao sam ove podatke u tablicu). Tek sam preko Debug.WriteLine skužio da imam grešku.

Naravno, visual studio ne želi 'listati' liniju po liniju: Context doesn't mach specified contects ili tako nekako.....

 

Edit:

sad i nije problem :-)

Poruka je uređivana zadnji put uto 18.12.2018 19:57 (Badjo_5).
6 godina
neaktivan
offline
C# - Problemi i rješenja

Možda netko zna i  može pomoć. Početnik sam u c# , a trebao bih se spojit na tps baze iz Clariona i koristit u c# .  

 
0 0 hvala 0
16 godina
offline
C# - Problemi i rješenja

Jel moze ovo neko pogledat malo mi je hitno a ovaj c# mi uopce nije jasan. Znaci u prvom gumbicu imam  4 textboxa, ime servera, bazu podataka, user i pw ako se koristi sql autetifikacija(to nisam ni napiso jel nzn stvarno di bi to uopce stavio). Znaci cilje je napraviti mogucnost spajanja na bazu podataka upisivanjem nabrojanih podataka

        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection sql = new SqlConnection("Server="+textBox4+"; Database= "+textBox1+"; Trusted_Connection=true");
          
                sql.Open();
                MessageBox.Show("Uspješna prijava");
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand("select IDProizvod,Naziv,BrojProizvoda,Boja,UkupnaCijena from Proizvod inner join Stavka on Proizvod.IDProizvod = Stavka.ProizvodID where naziv like '%"+textBox5+"%' or boja like "+textBox7,sql);
        }

 

Dok ovaj drugi gumb ima dva textboxa koji se koriste u select upitu. I nije mi isto tako jasno kak da stavim da se rezultat prikazuje u dataGridView-u.

 

EDIT:nvm rijesio sam

[ Xfire: slickman25 ] [ Steam: ryou229 ] [ Battle.net: exzzy#2808 ] [ EUNE:exzzy ][EUW:exzzy]
Poruka je uređivana zadnji put ned 20.1.2019 9:55 (R4zOR229).
Moj PC  
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice