- gban: Ingyen kellene, de tegnapra
- M0ng00se: Hardvert áruhitelre?
- Viber: ingyen telefonálás a mobilodon
- Magga: PLEX: multimédia az egész lakásban
- VoidXs: Tényleg minden játék optimalizálatlan?
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Gurulunk, WAZE?!
Új hozzászólás Aktív témák
-
fatal`
titán
válasz
Dr. Student #2698 üzenetére
Ha jól tudom, ha kívülre írod akkor az egész namespacere érvényes, ha belülre, akkor meg osztályon belül.
-
Dr. Student
senior tag
Újabb kérdés, most kezdtem el az osztályokat tanulgatni, és kérdésem az, hogy az enum(ot) azt hova kell írni, a class(en) kívül vagy belül ? hogyan érdemes...??
-
Jester01
veterán
válasz
Dr. Student #2695 üzenetére
Te magát az F függvényt írod, az a feladat. És attól lesz rekurzív, hogy saját magát hívja.
-
Jester01
veterán
válasz
Dr. Student #2693 üzenetére
Ez azt akarja jelenteni, hogy mindegyik szám az előző kettő összege. n-ből közvetlenül így nem számolható, azért kell a rekurzió (bár ugye van rá képlet, de most nem az a feladat).
A definíció így hangzik:
1) F(0) = 0
2) F(1) = 1
3) F(n) = F(n-1) + F(n-2)Pontosan ezt kell leprogramozni is. Így már megy vagy mondjam tovább?
MOD: mondom még egy kicsit. F(2) a definíció alapján F(1) + F(0) tehát 1+0=1. F(3) = F(2) + F(1), vagyis 1+1=2.
-
Dr. Student
senior tag
válasz
Jester01 #2692 üzenetére
Igen valszeg itt a baj, tehát van az az alapképlet, hogy
F(n-1)+F(n-2)Tehát magát a képletet nem értem, mert mondjuk ha 5-1+5-2 az mondjuk 7 és ilyen szám nincs a fib sorozatban... vagy lehet én vok ehhez teljesen hülye...tehát magát az egész fib. nem értem...
Mod: Jól megfogalmaztam
-
Jester01
veterán
válasz
Dr. Student #2691 üzenetére
Fibonaccival hol akadtál el? Igazából sehol nem lehet benne elakadni, ha az alapképletet már megkerested. Jóformán szó szerint csak le kell másolni a definíciót.
-
Dr. Student
senior tag
válasz
ArchElf #2682 üzenetére
Egyenlőre kezdő szinten vagyok, amúgy nem ez lett volna teljesen az algoritmus, ha működött volna egyből, csak ez lett belőle, a próbálgatások után...
MÁS:
Fibonacci (rekurzív algoritmus) ezt valaki elmagyarázgatná, nem nagyon tudom megírni, hiába kerestem egy csomó forrást hozzá...
-
martonx
veterán
hopsz bocsi. A Lazy loading szivatott meg tesztelésnél. Szóval van értékem, feltéve, hogy hozzáírok a tesztemhez plusz 1 sort, ahol használom a választ, rákényszerítve ezzel a rendszert a lekérdezésre.
Köszönöm az EF segítséget!
-
martonx
veterán
válasz
Peter Kiss #2687 üzenetére
Köszi, ezeket a lépéseket végigcsináltam. Így már valóban megjelent a context-en belül, mint használható entitás.
Viszont valami miatt nem ad vissza értéket. Egyébként komplex visszatérési értéke lenne, szépen be is állítottam. SQL Profiler-rel látszik, hogy az eljárásom meghívódik szépen felparaméterezve, csak a válasz nem jelenik meg sehol?Próbáltam így:
var ret = from t in db.teszt(2, "valami")
select t;És így:
var ret = db.teszt(2, "valami").ToList();
Hibaüzenet nincs, szépen lefut mindkét verzió csak éppen a ret akár ne is létezne.
Mindeféle entitást tudok kezelni, csak pont ez a nyomorult tárolt eljárás fog ki rajtam
-
Peter Kiss
őstag
válasz
martonx #2686 üzenetére
Designer felületen hozzáadod a tárolt eljárást, és utána használhatod.
1. Open Entity Framework Model page in Visual Studio IDE
2. Right click on blank area and choose “Add” -> “Function Import” option
3. In Add Function Import dialog, select your stored procedure, give function name and choose return type as Entities and select your custom entity from dropdown list.
4. Click on Ok button to add the function in Entity Framework
5. In your page, Create instance of entities class and call your function with proper parameter value -
martonx
veterán
Hátha tud rá valaki válaszolni:
Entity Framwork-kel akarok egy 3 bemenő paramétert váró tárolt eljárást futtatni.
Hogyan tudom ezt a szerencsétlen framework-öt rávenni erre a roppant bonyolult feladatra?Amivel próbálkoztam pl:
object[] sqlpar = new object[]{"123", "LTINDL", "valaki"};
int tranid = db.ExecuteStoreQuery<int>("exec dbo.insert_Tranz @AZ, @TIPUS, @USER",sqlpar).SingleOrDefault(); -
zedecske
tag
Na az van, hogy feltettem a 2008-as verziot. Eloszor nem akarta megenni a 2010-es forrast, le is vert a viz, de talaltam neten egy egyszeru modszert, amivel megette
.
Nem bugzik, a breakpointoknal megall, es gyorsabb is, mint a 2010. Asszem ennel maradok.@x007 :
Koszonom a valaszt, muxik, de kicsit ra kellett segitenem. A Path.Combine ugyanis dupla \ jelet tesz az utvonalba ( c:\\akarmi\\akarmi.txt ), ezert be kellett bigyesztenem egy @ jelet imigyen:
if (File.Exists(@filepath))
{
//kod
}Nagyon szepen koszonom neked a valaszt, tovabb tudtam haladni.
-
dany27
őstag
válasz
ArchElf #2676 üzenetére
Még 1 olyan kérdésem lenne a webrequestel kapcsolatban hogy azt hogy tudom megoldani ha esetleg lerohadt a proxy szerver menetközben akkor ne fagyjon ki a program??
Mert most dob egy szép hiba üzenetet és kifagy a program ha nem müxik a proxy!
Nekem úgy megfelelő lenne h kitudnám íratni hogy nem válaszolt időn belül a proxy szerver, nem sikerült megnyitni az oldalt, majd lépnék a következő proxy szerverre. -
ArchElf
addikt
válasz
Dr. Student #2681 üzenetére
de maradhat így is, csak ne nullára vizsgáld, hanem float.NaN-re... [link]
A while ciklus az elején is egyszerűsíthető, másrészt a hibákat célszerű az error stream-re írni a sima output stream helyett:
float a;
Console.Write("Kérem az (a) szám értékét: ");
while ((a = int.Parse(Console.ReadLine())) == 0)
{
Console.Error.WriteLine("Az (a) értéke nem lehet 0.");
Console.Write("Kérem az (a) szám értékét: ");
}Harmadrészt célszerű volna lekezelni az az esetet is, ha az int.Parse hibára fut (nem szám lett beadva):
int a;
Console.Write("Kérem az (a) szám értékét: ");
while (!int.TryParse(Console.ReadLine(), out a) || a == 0)
{
Console.Error.WriteLine("Az (a) értéke nem lehet 0.");
Console.Write("Kérem az (a) szám értékét: ");
}AE
-
fatal`
titán
válasz
Dr. Student #2678 üzenetére
Az a baj, hogy egyből négyzetgyököt számolsz, ami negatív esetén nem negatív lesz, hanem "nem szám".
Előbb számold a d-t négyzetgyök nélkül, ha kisebb mint nulla, akkor hiba, egyébként pedig kiszámolod a négyzetgyökét és úgy számolod a két x-et.
-
Jester01
veterán
válasz
Dr. Student #2678 üzenetére
A négyzetgyököt túl hamar számolod, már a d-ben.
-
Dr. Student
senior tag
válasz
ArchElf #2672 üzenetére
static void Main(string[] args)
{
Console.WriteLine("Hello, ez egy másodfokú egyenletet megoldó program.");
Console.WriteLine();
Console.Write("Kérem az a szám értékét: ");
float a;
a = int.Parse(Console.ReadLine());
while (a == 0)
{
Console.WriteLine("Error message, az a értéke nem lehet 0.");
Console.Write("Kérem az a szám értékét: ");
a = int.Parse(Console.ReadLine());
}
Console.Write("Kérem a b szám értékét: ");
float b;
b = int.Parse(Console.ReadLine());
Console.Write("Kérem a c szám értékét: ");
float c;
c = int.Parse(Console.ReadLine());float d;
d = (float) ((Math.Sqrt((b*b) - (4 * a * c))));float x1;
float x2;if (d < 0)
{
Console.WriteLine("Negatív gyök");
}
else
{
x1 = (-b + d) / (2 * a);
x2 = (-b - d) / (2 * a);Console.WriteLine(x1);
Console.WriteLine(x2);
}
Console.ReadLine(); -
ArchElf
addikt
Használj [M]HttpWebRequest[/M]-et, és annak van Proxy tulajdonsága, amit kézzel tudsz konfigurálni.
AE
-
dany27
őstag
Üdv
Adott egy program amit C#-ban írtam.
Hogy tudom azt elérni hogy a formon lévő böngésző komponens, új proxy beállításokkal dolgozzon anélkül hogy újraindítanám a programot.(menet közben automatikusan változokik, egy timer tick eventjére....)Szval annyi lenne a cél, hogy beállít egy proxyt, meghív egy oldalt az betöltődik, majd proxy csere újraindítás nélkül és ismét egy oldal hívás....
Előre is köszi!
-
zedecske
tag
koszi, de igazabol elbucsuztam a 2010-es VS-tol, mert olvastam neten, hogy egy tagnak(aki nem olyan lama mint en) ugyanilyen debugos breakpointos gondjai voltak vele. most majd egy 2008-as verzioval probalkozok holnap, remelem az muxik rendesen. ha nem, akkor kiprobalom amit irtal.
a hiba raadasul nem is konstans, egyik forditasnal megall (ugyanannal) a bp-nal, ha ugy tartja kedve, aztan rnd beadja a kulcsot
-
ArchElf
addikt
válasz
Dr. Student #2662 üzenetére
Dobd be ide a kódod és megmondjuk, mi a gebasz.
AE
-
Dr. Student
senior tag
válasz
Jhonny06 #2669 üzenetére
Megyek és áttanulmányozom, igen azt gondoltam, hogy nem kell szó szerint betanulni, de a többiek amiket mondtak nekem, hogy miért vont le pontot az megrémített, mert, hogy én nem mentem be ZH-ra, mert féltem a 20%-os határtól amit végül eltöröltek, most készülhetek az alpótra....
Pl: ha egyenlőséget és kettőspont egyenlőséget is használtál akkor már minusz pont
-
Jhonny06
veterán
válasz
Dr. Student #2668 üzenetére
Ja hogy Sergyán
(Ugyanarra az előadásra járunk) Amúgy igen, a "ciklus amíg" a while-ra vonatkozott, tehát az előző hsz-embe lévő első változattal jó lesz a prímszámos feladat. Ezeket az algoritmusokat egyébként nem kell szó szerint betanulni, mert sok fölösleges dolog van bennük, ami megzavar.
Illetve a while(i != szam) azért nem jó, mert önmagát már nem fogja figyelembe venni. Tehát inkább while(i <= szam) és ezzel jó.
A teljes programkód:
-
Dr. Student
senior tag
válasz
Jhonny06 #2667 üzenetére
Ezt kipróbálom, itt egy link: [eldöntés] ciklus amíg kell, az egy másik prog tétel volt, csak szóltam, hogy erre is figyelni kell...
Mod: 14.dia
-
Jhonny06
veterán
válasz
Dr. Student #2666 üzenetére
Most akkor ciklus amíg kell, vagy nem? Mert az elején azt írod, aztán meg hogy azért vontak le pontot.
Mindegy, while-al is csak úgy lehet, ha van egy index változód, amit mindig növelsz. Belinkelhetnéd a diát.
while(i != szam)
{
...
i++;
}vagy
for(int i = 0; i < szam; i++)
{
...
} -
Dr. Student
senior tag
válasz
Jhonny06 #2665 üzenetére
Igen, így én is megtudtam írni, csak kimondottan "ciklus amíg" tehát while ciklussal kell megírni, mert a zhba is levont pontot a tanár egyik havertól azért mert "ciklus amíg" oldotta meg, amit konkrétan számláló ciklussal kellett volna... tehát azért belekötnek..és úgy kell megírni, ahogy a diába van, legalábbis úgy célszerű..
-
Jhonny06
veterán
válasz
Dr. Student #2663 üzenetére
Bekérsz egy számot, majd írsz egy for ciklust ami addig a számig fog menni. A for cikluson belül lesz egy feltétel, ami megvizsgálja, hogy az adott index érték (i) osztható-e maradék nélkül a bekért számmal. Ha igen, akkor a program elején létrehozott mondjuk db nevű változódat növeled 1-el. Ha a ciklus végén a db == 2, akkor a szám prím. Nyilván vannak hatékony algoritmusok erre, de ez a legegyszerűbb, "no-brainer" fajta.
-
ArchElf
addikt
válasz
Dr. Student #2663 üzenetére
Használd a keresőt
AE
-
Dr. Student
senior tag
válasz
Dr. Student #2662 üzenetére
Közbe kicsit tovább haladtam, még egy probléma adódott, egy másik programmal, itt az eldöntés tételével vagyok kicsit hadilábon...főleg, ez a prim számos program, tehát döntsük el egy számról, hogy prim-e...ez nem akar működni sehogy, nem akarok hülyeséget írni, kb 2 perc alatt megírja aki tudja, megköszönném, aki bemásolja...
-
Dr. Student
senior tag
Üdv mindenkinek!
Elkezdtem programozgatni, mert jövőhéten hát aláíráspótom lesz, és kell a gyakorlat...
már egész jól megy néhány program elkészítése, viszont most egy sima másodfokú egyenlet megoldó algoritmust írtam és az a gondom...hogy..Megvizsgálom, hogy a diszkrimináns, 0-nál kisebb-e mert akkor negatív gyök lesz, nah most először ilyen bonyolultabb módon akartam megoldani, de azt írja ki a végén, hogy nem szám, a bonyolultabb módon azt értem, hogy while ciklussal folyamatosan vizsgálja meg, és addig kérje be a számokat ameddig a disz. nem lesz nagyobb mint 0, de most ez lényegtelen beraktam egy elágazásba, tehát egy if-be, hogy ha kisebb mint 0 akkor irja ki, hogy negatív gyök, de más különben a két gyök eredményét... jól működik a program, csak akkor nem ha minusz lesz a gyök alatt, mert akkor az helyett, hogy kiírná, hogy negatív gyök, azt írja, hogy nem szám...
Mi lehet a gond ? Remélem érthető voltam ...
Elkell tudnom jutni 9nap alatt, arra a szintre, hogy osztályokat tudjak létrehozni, ehhez valami jó kis segítséget tudtok ajánlani ?
-
fatal`
titán
using System;
namespace MerryChristmasApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Boldog karácsonyt mindenkinek!");
}
}
} -
martonx
veterán
válasz
zedecske #2656 üzenetére
Melóhelyen Express-t, otthon Ultimate-et használok. Persze többet tud az Ultimate (Intellitrace, Performance Analyze, Remote debug stb...), de alap debugolásban 100%-ban ugyanaz mindkettő. Ha az Expressben furcsaságot tapasztalsz, az nem azért van mert Expresszt használsz, hanem a hiba a te készülékedben van.
-
zedecske
tag
válasz
martonx #2655 üzenetére
nemtom, lehet hogy ujrarakom, hatha az megoldja. az, hogy van-e kulonbseg vagy nincs, nem tudom sem megerositeni sem cafolni, mert nem hasznaltam meg pro-t, de allitolag pl a proban tobb lehetoseg van ha jobb klikket nyomsz a bp-re, nem csak kiiktatni v torolni tudod mint az expressben. most linkelni nem tudom a hivatkozast ahol ezt olvastam,mert telorol vok. azt megkerdezhetem, hogy neked milyen tapasztalataid voltak expressel? minden info jol jon egy newbie-nek, amilyen en vagyok... thx es elnezest a tordeles hianyaert, telorol vagyok
-
-
zedecske
tag
Windows alkalmazas...(ööh ha ez azt akarja jelenteni, hogy windows alatt fut, es nem parancssoros, hanem formos, akkor igen
)
ezeket hasznalom benne:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Windows.Forms;
using System.IO;
using System.Text.RegularExpressions;Sajnos en Express-t hasznalok, de mar megbantam, lehet hogy a debugja nem tokeletes.
-
zedecske
tag
Ez a project egeszen kicsi
egy nortwood celeronon egy par masodperc alatt lefordul.
Csak valamilyen oknal fogva, (amit csokkent ertelmem nem hajlando megerteni), nem reagal a breakpointokra (ha F5-ot nyomok, ami a debug, en is ugy tudtam). Ez alatt azt ertem, hogy tehetek en akarhova BP-t, egyszeruen nem all meg a futas, nem adja vissza az editort, hogy megnezhessem a valtozokat.Azt olvastam vhol neten, hogy az Express meg a Professional debugja kozott azert mervado a kulonbseg, kulonos tekintettel a breakpointok kezelesere.
-
zedecske
tag
To switch to the Debug or Release configuration quickly
On the Standard toolbar, choose either Debug or Release from the Solution Configurations list box. This toolbar is not available in the Visual Basic Express or Visual C# Express.
Gondolom ez lehet a problemam...
, merhogy Expresst hasznalok.
De azert koszi a valaszokat, sokat segitett, majd a workaround is kiforrja magat.
-
Igen, a legnagyobb hiba, hogy az if-ek nem voltak blokkban. Egyébként ha szebben akarod csinálni, akkor switch-et használj, valamint a z óra, perc, másodperc is bőven elég egyszer, felesleges ennyi változóval operálni. az egyik intből másikba pakolást pedig szerintem töröld az emlékeidből.
Ja, és az intbe konvertálás simán el tud hasalni, ha mondjuk egy betűt írok be. Jobb megoldás az int.Parse(Console.ReadLine()); és ezt kezelni.
-
Jhonny06
veterán
Fölösleges az az a és b változó az elején, az if elágazásba egyszerűen x == 1-et és x == 2-t írj. Amúgy meg az if blokkokat érdemes teljes egészében elválasztani, mert bár egyértelműen továbbfut, okozhat kellemetlenséget és az olvashatósága sem a legjobb. Nekem így lefut szépen.
-
mttssz
senior tag
Hello!
Elég kezdő vagyok még C#-ban, és nem értem hogy [ebben] a kódban mi a hiba? Ha az 1-t írom be a program futásának kezdetén, akkor rendesen végigmegy, kiszámolja, de ha a 2-t, akkor hibát ír ki és kilép...MaTMaN
-
x007
tag
válasz
zedecske #2641 üzenetére
Nem ártana helyesen értelmezni a használt metódus dokumentációját. link
Ebből már tisztán látszik, hogy hülyeséget csinálsz. Helyesen:
Directory.SetCurrentDirectory(dirPath);
string filePath= Path.GetFullPath("counter.dat");
if (File.Exists(filePath))
{
//kod;
}Egyébként én inkább a Path.Combine használatát javasolom, eképpen:
string filePath= Path.Combine(dirPath, "counter.dat");
if (File.Exists(filePath))
{
//kod;
} -
zedecske
tag
válasz
kingabo #2640 üzenetére
Asszem agyhugykovet kaptam igy az unnepek elott.
Ugyanis: hiaba deklaralok akar lokalis, akar globalis valtozot, a debug mind a kettot figyelmen kivul hagyja. Nem is listazza ki a berakpointra futas utan.
Nem tudom hogy mi a *sipszo*-t *sipszo*-zik velem ez a *sipszo*-s kis *sipszo* (szuletesi neven: Visual Studio 2010 Express) , de asszem mara befejeztem. Kulonben is holnap mar karacsony.
Majd felvetem a problemat unnepek utan, az addigra kinott hajammal.Boldog, c#-mentes karacsonyt kivanok az egybegyulteknek!
-
-
zedecske
tag
válasz
ArchElf #2638 üzenetére
Ezt az infot koszonom,de:
ha igy hasznalom:
pathstr = Path.GetFullPath("counter.dat");
if (File.Exists(pathstr+"\\"+"counter.dat"))
{
//kod;
}akkor sem talal semmit,
pathstr = Path.GetFullPath("counter.dat");
if (File.Exists(@pathstr+"\"+"counter.dat"))
{
//kod;
}ezt meg nem engedi az editor, mert csak egy escape char "\"
en arra gyanakodok, hogy ha en beallitom az aktualis mappat a setcurrentdirectory-val, attol meg nem tudja, hogy abban a mappaban keresse az adott filet.
Tanacstalan vagyok, mint egy kiskozseg
-
zedecske
tag
Sziasztok, ujra en.
Egy tok egyszerunek tuno probleman vagyok elakadva.
van a File.Exist metodus ami igy mukodne az MSDN szerint:
if (File.Exists(@"c:\\akarmi\\akarmi.txt"))
{
//kod;
}ezzel nincs is semmi gond. de amikor valtozokat akarok vele megetetni, ily modon:
pathstr = Path.GetFullPath("akarmi.txt");
if (File.Exists(@pathstr+ "\\" + "akarmi.txt"))
{
//kod
}
Igy mar nem fogadja el a gyomra(nem valosul meg a true ag). Van valami otletetek, hogyan lehetne ezt kivitelezni?MOD:
elotte beallitottam az aktualis mappat System.IO.Directory.SetCurrentDirectory segitsegevel.
Koszonnem elore is
Z
-
Blake1757
csendes tag
válasz
ArchElf #2634 üzenetére
A hibát az accessdatasource1.Insert(); parancsnál dobja fel, hogy szintaktikai hiba, bár az insert into parancsom az accessen belül teljesen jól működik... Elméletileg így kellene működnie, de valami miatt nem tetszik neki...
Sajnos még nem jöttem rá a hibára, de erősen próbálkozom
Köszönöm a segítségeteket
Üdv Heni
-
ArchElf
addikt
válasz
Blake1757 #2632 üzenetére
Próbáld meg, hogy a mezőneveket berakod szögletes zárójelek közé: [mezőnév].
Amúgy az adatbáziskapcsolatot egyáltalán felépíti az ASP?
AccessDataSource1 inicializálva van egyáltalán?
Nem az IF-ben hal meg? Biztos nem írtál el valamit az elején a változónevekben?
Ha beállítod a breaket az If-re mindegyik változónak van értéke?AE
-
Blake1757
csendes tag
válasz
martonx #2631 üzenetére
Köszönöm a válaszotokat.
Megnéztem, hogy az access-ben sikerül -e ez az inser into utasítás, kicsit át kellett alakítanom, és működött. Kicseréltem a kódban is, de ugyanúgy megáll az
AccessDataSource1.Insert(); parancsnál és azt mondja szintaktikai hiba.... nem tudom mit tudnék még rajta alakítani. A beszúrás előtt vizsgálom az összes textboxot és checkboxot, hogy üres -e... (bár a checkboxnál van egy if, hogy ha az egyik be van jelölve akkor a másik automatikusan null értékű). Mindig a fenti parancsnál áll meg és ezzel a szöveggel...Ha tudtok valami okosat mondani azt örömmel fogadom...
Előre is köszönöm Henrietta
-
martonx
veterán
válasz
Blake1757 #2629 üzenetére
Szia!
A jelek szerint több hiba is van a kódódban.
1. hiba, valahol nem kezeled le, hogy üresen maradt valami a formodban.
2. hiba, nem jó az insert utasításod, ami persze simán lehet, hogy csak az előző kikommentezésed eredménye.Mindenképpen debugolva kellene rájönnöd az 1-es hibádra, majd azt javítva a 2-es lehet magától megoldódik.
-
Blake1757
csendes tag
Sajnos azt hiszem magában az insert résznél van problémám... kikommenteltem azt a részt, amikor vizsgálom, hogy üresek -e a textboxok...
az kaptam, hogy
"OleDbException was unhandled by user code...
szintaktikai hiba az insert to utasításnál..."Tud valaki segíteni, hogy milyen módon írjak az adatbázisba? vagy nem jól adtam meg magát az Insert utasítást?
Előre is köszi
-
válasz
Blake1757 #2627 üzenetére
Azt gyanítom, hogy a Request.Form-ból nem talál meg valamilyen mezőt. A teljes hibaüzenet (stack) talán segíthetne. Vagy nézd meg, hogy egyáltalán adsz-e át valamit debug módban.
Az
"if (nev == null)
{%>
<%
}
else"helyett vizsgáld azt az esetet, ahol történik is valami. Ha a nev != null, akkor... így a másik ág nem is kell majd.
-
Blake1757
csendes tag
Sziasztok! Elég kezdő szinten állok az asp.net programozás terén. Gondoltam mivel az is C# alapú csoda talán tudtok segíteni..
A problémám a következő:
Formból kinyerem a textboxok és checkboxok tartalmát, majd szeretném ezeket a már meglévő adatbázisomba menteni. Valami oknál fogva semmilyen hibát nem jelez a kódban, viszont futtatáskor a követkő hibával megáll ott, ahol azt vizsgálom, hogy minden adatot megadott-e... itt a kód is.. Ha semmit nem adok meg, akkor az else ág működik és kiírja, hogy hibás adat...
Annyi magyarázat még, hogy post-tal küldöm a formot és önmagát hívja meg.
Itt a hibaüzenet amit kapok: "NullReferenceException was unhandled by user code.... másik sor Object reference not set to an instance of an object."
Valójában leginkább az a baj, hogy nem nagyon tudok angolul, mert még csak most kezdtük a tanulását... ez a feladat is suliba kell... Persze a tanár csak kiadta a feladatot, te meg találd meg hogyan kell... Visual Studio 2010-et használunk...
Kérlek titeket nézzétek meg és segítsetek, mi lehet a hiba... Előre is köszi
<%
string nev = Request.Form["nevtb"]; //név ha van
string irszam = Convert.ToString(Request.Form["irszamtb"]);
string varos = Request.Form["varostb"];
string cim = Request.Form["cimtb"];
string telefon = Convert.ToString(Request.Form["telefontb"]);
string email = Request.Form["emailtb"];
string darab = Convert.ToString(Request.Form["darabtb"]);
string szamlanev = Request.Form["szamlanevtb"];
string szamlairszam = Convert.ToString(Request.Form["szamlairszamtb"]);
string szamlavaros = Request.Form["szamlavarostb"];
string szamlacim = Request.Form["szamlacimtb"];
string ado = Convert.ToString(Request.Form["adotb"]);
string szamla = Request.Form["szamlacb"];
string nyugta = Request.Form["nyugtacb"];
string postai = Request.Form["postacb"];
string szemelyes = Request.Form["szemelycb"];
if (nev == null)
{
%>
<%
}
else
{
if (irszam.Length != 0 && varos.Length != 0 && cim.Length != 0 && telefon.Length != 0 && email.Length != 0 && darab.Length != 0 && szamlanev.Length != 0 && szamlairszam.Length != 0 && szamlavaros.Length != 0 && szamlacim.Length != 0 && ado.Length != 0)
{
AccessDataSource1.InsertCommand = "INSERT INTO siker (Név, Irszám, Város, Cím, Telefon, Email, Szamla, Nyugta, Darab, Szamlairszám, Szamlanev, Szamlavaros, Szamlacim, Adoszam, Postai, Szemelyes) VALUES ('" + nev + "','" + irszam + "','" + varos + "','" + cim + "','" + telefon + "','" + email + "','" + szamla + "','" + nyugta + "','" + darab + "','" + szamlanev + "','" + szamlairszam + "','" + szamlavaros + "','" + szamlacim + "', '" + ado + "','" + postai + "',,'" + szemelyes + "')";
Response.Write(AccessDataSource1.InsertCommand);
Response.Write("<br>Az adat eltárolva");
AccessDataSource1.Insert(); //beszúrást végrehajtja
}
else
{
Response.Write("Hibás adat");
}
%>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/siker.accdb"></asp:AccessDataSource>
<%} %> -
zedecske
tag
válasz
martonx #2625 üzenetére
protected override void OnLoad(EventArgs e)
{
dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);
}
public void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Visible != false)
{
MessageBox.Show("Cella modositva: " + e.RowIndex+"/"+e.ColumnIndex);
}
}Igy muxik, koszi.
Azert irtam le, hogy legyen egy megoldas, amire ra lehet keresni.
Keresoszavak: datagridview event handler cellvaluechanged
-
zedecske
tag
Hat a problema ott kezdodik, hogy meg sem jelenik a messagebox.
Guglizok orult modjara, de az MSDN megoldasa nem jon be, vmi eventhandlerekkel kene buveszkedni, azt is megprobaltam, nem jott be, most eppen a dataGridView1_CellEndEdit metodust probalgatom, nem sok sikerrel.
Emlitettem hogy kezdo vagyok c#-ban ? -
zedecske
tag
Hello
Egy hete kezdtem el C#-ban programozni(a tomeg felhordul
). Elotte azert voltak proggolasi tapasztalatok, leginkabb delphi, de az kotottnek bizonyult, igy a Visual Studio 2010 Express mellett dontottem.
Vegigolvastam a "datagridview" tag gyorskereseset (~25 bejegyzes), de nem talaltam olyan problemat, ami olyan mint az enyem.A problema a kovetkezo: van egy datagridview, ami fel van toltve adatokkal, bizonyos lekerdezesek szerint (szoveges fileokbol, uh nincs datasource hozza). A kilistazasnal ha a juzer belekattint egy cellaba, es modositja, azt nekem le kene kezelni, vagyis tudnom kene, hogy a cella tartalma megvaltozott, es foleg melyik cellae.
private void dataGridView1_SelectedValueChanged(object sender,DataGridViewCellEventArgs e)
{
MessageBox.Show("Cell Changed:"+e.ColumnIndex+" / "+e.RowIndex);
}erre gondoltam, de tojik a fejemre.
MOD: gugliztam a temaban eleget, most is azt csinalom
Vki tudna segiteni egy ilyen prognoobnak mit en?
Elore is koszi
Z
-
martonx
veterán
Legvégül leírtad a megoldást. Ez nem gányolás, SQL-ben a dátum formátum mindig is egy nehézkesen megfogható dolog volt a magyar dátumokkal.
Viszont ahogy amargo írta, az egész programod gány, mert ez egy tipikusan sql oldalon megvalósítandó feladat. Minden amit írtál megoldható sql-ben. Ettől függetlenül szived joga, bármivel elütni az időt, mi csak próbálunk az optimális megoldás felé terelni. És hidd el megtanulni SQL-ezni jóval hasznosabb dolog, mint megtanulni megírni egy hello world szintű programot C#-ban.
-
nyunyu
félisten
Replikacio SQL2000 alatt elmeletileg lehetseges, gyakorlatban meg csak a gond van vele, ugyhogy inkabb nem eroltetjuk.
Nem kell ennyire tulspilazni a dolgot, egy egyszeru webes cuccot akarok osszerakni, ahol supportos kollega beir kb. 2 adatot, plusz kivalasztja 2 legordulo listabol, ami neki kell, aztan nyom egy gombot, es a program legeneralja azt a par adatbazis rekordot, amit jelenleg en szoktam kezzel letrehozni a fejlesztoi rendszeren, aztan manualisan attolteni az elesre.
Igy a support par perc alatt be tudja maganak allitani azt, amit en kezzel szoktam fel ora alatt, aztan nem este 6-kor talalnak meg ilyen hulyesegekkel, hogy masnap reggelre kell 10 mukodo telefonvonal az ugyfelnek, ilyen meg ilyen beallitasokkal.Nyilvan egyszerubb lett volna odamenni valamelyik webes fejlesztonkhoz, aztan ket nap alatt osszerakta volna, amivel en tokoltem egy hetet, de hat nekem is kell a gyakorlat, meg amugy sem volt jobb dolgom.
-
amargo
addikt
Replikáció? Iinterface-ek létrehozása webservice közöttük, stb.
Kis millió lehetőség adott, de ahhoz bővebben kellene ismerni a problémát. Csak azért furcsa, mert én évek óta nem használtam c#-ban sql-t és itt sem látom be miért kellene?Én úgy gondoltam, hogy valami wcf, EF, stb használnál hozzá.
-
nyunyu
félisten
Tobb szerverre is be kell szurni ugyanazokat a rekordokat, raadasul az irodai fejleszto kornyezetunkben (SQL2000) van csak identity a tablan, igy eloszor ide kell beszurni az uj mukodesi parametereket, hogy a visszakapott ID-vel tudjam beirni az eles SQL2005-on levo tablaba.
Ha nem egyezik a ket rendszer ID-je, akkor kovetkezo fejlesztes elesitesnel (=komplett parameter tabla export) javithatatlanul hazavagnam az eles rendszeren addig gyujtott statisztikai adatokat.
Nyilvan meg lehetne csinalni tarolt eljarasokkal is, es C#-ban csak kattintgatos webes feluletet osszerakni, ami meghivja, de a linked servert nem szeressuk, kulonbozo SQL verziok kozott elegge korlatozottan mukodik.
Raadasul a tarolt eljarasnak is at kell adni valahogy a datum parametert, vagyis ugyanott vagyok, mint most.
-
nyunyu
félisten
Benazok C#-ban egy programot, ami MS SQL adatbazisban elore legeneralt adatokat olvas be, es par valtozotol fuggoen masik tablakba szurja be a rekordokat.
Ide-oda pakolando rekordokban szerepel kezdo es vegdatum (utobbi lehet NULL!)Ennek oromere hasznalnam az SqlDateTime tipust, tok jo, frankon mukodik vele az adatbazisbol olvasas, nem kell figyelni arra, hogy a bemenet lehet NULL is.
Szivas resze ott van, hogy kezzel raknam ossze a szervernek feladando SQL queryt (hiba eseten logolhato, utolag kezzel futtathato, stb
), de ezzel a tipussal erosen meggyult a bajom.
Szoval rakom ossze a queryt:
SqlCommand cmd=new SqlCommand("",conn)
cmd.CommandText = "INSERT INTO blabla VALUES ("+vegDatum+")";Arra hamar rajottem, hogy ennek az eredmenye csak akkor helyes SQL szintaktikailag, ha a vegDatum NULL.
Ha nem NULL, akkor aposztorofok koze kell tenni a datumot.
cmd.CommandText = "INSERT INTO... VALUES ('"+vegDatum+"')";Csakhogy ennek az eredmenyet sem eszi meg az SQL 2005, mert a magyar Windows a datum moge pontot tesz (pl. 2011.12.16. 00:25:00 )
Pont nelkul megenne...Szoval hogyan lehet epkezlab, SQL altal emesztheto formaju stringge alakitani az SqlDateTime tipust?
ToString() metodusa ugyanigy pontot tesz a nap moge, formazni meg nem lehet.
Ez erosen ganyolas szagu, de legalabb mukodik:
DateTime vegD=(DateTime)vegDatum;
cmd.CommandText = "INSERT INTO... VALUES ('"+vegD.ToString("yyyy-MM-dd HH:mm:ss)"+')"; -
ArchElf
addikt
válasz
Jhonny06 #2606 üzenetére
És tömb helyett használ List<T>-et, nem kell annyit mókolni vele.
class Adatbazis
{
List<Hallgato> hallgatok = new List<Hallgato>();
public Adatbazis()
{
Random randAdatbazis = new Random();
int tombHossz = randAdatbazis.Next(20, 30);
for (int i = 0; i < tombHossz; i++)
hallgatok.Add(new Hallgato());
}
}AE
-
Jhonny06
veterán
válasz
Jester01 #2605 üzenetére
A konstruktorba írva az egészet jó lenne, vagy muszáj az osztály adattagjaként megmaradnia? Igazából ezt így korábban is sikerült létrehozni, de a logikáját nem értem, hogy ezek után egy Adatbazis példánnyal mit lehet kezdeni, hogy lehet elérni a másik osztály objektumait?
class Adatbazis
{
public Adatbazis()
{
Random rand_adatbazis = new Random();
int tomb_hossz = rand_adatbazis.Next(20, 30);
Hallgato[] tomb = new Hallgato[tomb_hossz];
for (int i = 0; i < tomb_hossz; i++)
tomb[i] = new Hallgato();
}
} -
Jester01
veterán
válasz
Jhonny06 #2604 üzenetére
Igen, nagyjából jó. Ahogy írod, a Random nincs jó helyen, mint ahogy a tomb_hossz is jobb lenne magában a konstruktorban. Ami azonban ezeknél fontosabb hiányosság az az, hogy a tömböt magát is létre kell hozni, vagyis ilyesmi kellene még bele, mielőtt az elemeket kezded el piszkálni:
tomb = new Hallgato[tomb_hossz];
-
Jhonny06
veterán
Sziasztok!
Van egy feladat, amiben elakadtam. Idáig sikerült megírni, a következő lépést viszont nem értem.
"Az Adatbázis példányosításkor hozzon létre véletlenszerű Hallgatókat és azokból 20-30 darabot (maga a darabszám is legyen véletlenszerű)."
Megvan az üres Adatbázis osztályom. Példányosításkor, azaz nyilván a konstruktorba kell valamit mókolni. Az is világos, hogy az előző osztály (Hallgato) objektumaiból kellene egy tömb, hozzá egy Random érték, 20-30 között. De ezt hogy valósítom meg? Adattagként létrehozom az objektumtömböt és a konstruktorban egy for ciklusban kapják meg az "értéket"? Meg ezentúl a Adatbazis osztály példányával hogy érem el, mint tömb? Magát a szintaktikáját értem a dolognak, "csak" a logikáját nem, hogy mit akar megvalósítani. Valami ilyesmire gondoltam (a Random sincs túl jó helyen
):
class Adatbazis
{
public static Random rand_adatbazis = new Random();
public int tomb_hossz = rand_adatbazis.Next(20, 30);
private Hallgato[] tomb;
public Adatbazis()
{
for (int i = 0; i < tomb_hossz; i++)
{
tomb[i] = new Hallgato();
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
- IKEA (HAVREHOJ) tablet vagy laptop tartó
- DDR5 8/ 16/ 32GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- BESZÁMÍTÁS! Samsung Odyssey G9 OLED 240Hz Dual QHD 0,03ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest