- Kiszivárgott információk az új AMD chipek érkezéséről
- 5.1, 7.1 és gamer fejhallgatók
- Kormányok / autós szimulátorok topicja
- Sony MILC fényképezőgépcsalád
- PC VGA - TV RGB SCART összekötés
- Amlogic S905, S912 processzoros készülékek
- Vezetékes FEJhallgatók
- A Palit fekete VGA-szörnye nem kér a színes pislákolásból
- Nikon Z MILC fényképezőgépcsalád
- Mini-ITX méretű RTX 4070 Kínából
Hirdetés
-
Retro Kocka Kuckó 2024
lo Megint eltelt egy esztendő, ezért mögyünk retrokockulni Vásárhelyre! Gyere velünk gyereknapon!
-
Ellopták a Tesla akkumulátor-titkait
it Beperelte egy korábbi beszállítóját a Tesla, és azzal vádolja, hogy üzleti titkokat lopott a Tesla akkumulátorgyártási technológiájával kapcsolatban.
-
Jövőre érkezik a Metroid Prime 4
gp Úgy tűnik, hogy nyolc évvel az eredeti bejelentés után megkapjuk a folytatást.
Új hozzászólás Aktív témák
-
drkbl
őstag
-
sch_a
addikt
Üdv!
Nagyon kezdő vagyok a témában, valószínűleg elég egyszerű kérdés lesz, de egész napos google-zás után sem találtam a megoldást..
Adatbázis-kezeléssel próbálkozom, a DataGridView-be betöltöttem a megfelelő táblát, most az jönne, hogy a kijelölt sor törlését/módosítását megoldjam. Ez addig ment is, míg a táblákban az elsődleges kulcs oszlopa csak számokat tartalmazott, most viszont varchar típusú és nem jövök rá hogy tudom ilyenkor megadni hogy melyik sort törölje/módosítsa..da.DeleteCommand = new SqlCommand("Delete from TáblaNév where Kód =" + DG.CurrentRow.Cells["Kód"].Value, cs);
Ez ugye ilyenkor nem igazán működik. Nagyon megköszönném ha valaki tudna segíteni.
-
sch_a
addikt
válasz
Lucas Kane #3303 üzenetére
Valóban! Köszönöm szépen, sokat segítettél!
-
Jester01
veterán
válasz
Lucas Kane #3303 üzenetére
Ezt majd komoly rendszeren azért ne használjátok, mert SQL Injection veszélyes. Lásd még xkcd
Jester
-
ArchElf
addikt
válasz
WonderCSabo #3308 üzenetére
Prepared statement
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
drkbl
őstag
válasz
ArchElf #3309 üzenetére
Ez mit jelent? Paraméterek használatát? Nekem ZEOS múlttal annyit, hogy az SQL lekérés lefordítódik "vonali" formátumra.
-
ArchElf
addikt
Igen. Gyakorlatilag annyit jelent, hogy a paramétereket nem az SQL hívás karakterláncába gyömöszölöd bele, hanem az SQL motor lefordítja a hívást már a paraméterek hozzáadása előtt, és az előkészített (lefordított) SQL hívás paramétereibe illeszti be az átadott paramétereket. Ez alapvetően két dolog miatt jó:
- A paraméter nem veszélyezteti meg a hívás integritását (nem tudja átalakítani a hívás szerkezetét)
- Az előkészített utasítás változó paraméterekkel többször (pl ciklusban) gyorsabban végrehajtható mint egyénileg összerakott (összefűzött string) utasításonként.AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
drkbl
őstag
válasz
ArchElf #3312 üzenetére
Értem. Az SQL utasításba gyömöszölt paramétert nem tekintem paraméternek, mert pl. az Oracle Enterprise Manager is az ilyen utasítások parametrizálását javasolja (tehát paraméter nélküli SQL-nek nevezi), illetve mind az Oracle, mind az SQL Server automatikusan meg is teszi a paraméteres formára cserélést, ha engedélyezett, és azt tapasztalja, hogy ugyanaz az SQL parancs, csak az adat rész változik.
A hajónaplónak: Ez utóbbi funkció persze csak az általad leírt teljesítményjavítást szolgálja, injection ellen nem véd.
-
Sohaur
csendes tag
Halihó!
Egy olyan kérdésem lenne, hogy hogyan lehetséges egy adott változót több windows form között is használni. Ugyanis adva van egy adatbázis kezelő programom amivel szeretném ilyen "Access-szerűen" megoldani a lekérdezéseket. Magyarán abból a formból amiben megírom, egy változóban szeretném a másik két formnak( az mdi parent, azaz az egyes és az amiben megjeleni a szűrt adat) átadni a lekérdezést mint stringet.
Ez a Deja-vu olyan ismerős kifejezés.... Mintha már hallottam volna valahol...
-
WonderCSabo
félisten
Pl. definiálsz egy osztályt, amiben van egy statikus változó, a Te stringed. Mindegyik formban el tudod érni ezt a változód Osztálynév.változónév szintaktikával, és mivel a vált. statikus, mindenhol ugyanarra hivatkozol.
A WinForms-ot nem ismerem annyira, lehet, hogy van vmi speckóbb megoldás is rá.
[ Szerkesztve ]
-
fatal`
titán
válasz
WonderCSabo #3315 üzenetére
Vagy property belőle
-
fatal`
titán
válasz
WonderCSabo #3317 üzenetére
Én a static class helyett gondoltam a propertyre a form osztályában.
Mert gondolom példányosítva van, bár a kérdésből nem teljesen tiszta.
Nekem is lenne egy kérdésem:
Ha néhány formból a futás során csak 1db-t akarok létrehozni. rögtön indításkor, akkor az mennyire szép megoldás, hogy kirakom ezeket a formokat egy static Forms classba és úgy érem el őket? Van esetleg valami beváltabb módszer? Mert kicsit feleslegesnek tartom mindig újra létrehozni a formokat, ha pl. a főablakból nyitják, bár lehet, hogy teljesen rosszul gondolkodom.
[ Szerkesztve ]
-
Sohaur
csendes tag
válasz
WonderCSabo #3315 üzenetére
Hálás köszönetem! Működik is szépen
Ez a Deja-vu olyan ismerős kifejezés.... Mintha már hallottam volna valahol...
-
sch_a
addikt
Megint én vagy az, a láma kérdéseimmel
Szűrőt csinálnék az adatbázis-kezelő formhoz, de úgy kéne megoldani, hogy meglehessen adni azt is, melyik oszlopban keressen.ds.Tables["tábla1"].DefaultView.RowFilter = String.Format("PéldaOszlop = '{0}' " , textBox1.Text);
Ezzel próbálkozom, így ha előre beleírom az oszlop nevét, működik is. De ha az oszlopot is változtatni akarom, akkor azt csak annyi IF-el tudnám megoldani, ahány oszlop van. Gondolom létezik ennél valami szebb megoldás is
-
WonderCSabo
félisten
Én a static class helyett gondoltam a propertyre a form osztályában.
Mert gondolom példányosítva van, bár a kérdésből nem teljesen tiszta.
De több különböző formról beszéltünk itt, vagy nem?
Mert kicsit feleslegesnek tartom mindig újra létrehozni a formokat, ha pl. a főablakból nyitják, bár lehet, hogy teljesen rosszul gondolkodom.
Sajnos sok esetben kötelező újra létrehozni őket. Pl. ha megjeleníted a Form-ot Show(Dialog) metódussal, aztán a user bezárja, akkor már nem is jelenítheted meg újra Show-al.
[ Szerkesztve ]
-
ArchElf
addikt
Nem csak metróra lesz használható az új VS Express... [link]
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
#90999040
törölt tag
válasz
WonderCSabo #3323 üzenetére
Pl. ha megjeleníted a Form-ot Show(Dialog) metódussal, aztán a user bezárja, akkor már nem is jelenítheted meg újra Show-al.
Miért ne jeleníthetnéd utána meg? Annyi, hogy a referenciát el tudd érni, mert azzal, hogy a user bezárja, még önmagában nem lesz null(ezért a GC még addig nem végez vele, amíg van rá mutató referencia). Bezárás után nyugodtan mehet még a show() vagy showdialog is akárhányszor.
[ Szerkesztve ]
-
WonderCSabo
félisten
válasz
Jester01 #3329 üzenetére
Én mindjárt megnézem, ha VS elé kerülök. Én teljesen tisztán emlékszem arra, hogy felhasználói bezárás után exceptiont kaptam újbóli megnyitás miatt. Viszont most az télleg homályos, hogy WinForms vagy WPF alatt (ugyanazt az alkalmazást kellet megírnom mindkét felületen, ezért mosódik össze).
-
#90999040
törölt tag
válasz
WonderCSabo #3331 üzenetére
Sima Show() esetén tényleg meghívódik a Dispose(), ShowDialog() esetén nem, ez zavart meg.
-
drkbl
őstag
válasz
WonderCSabo #3331 üzenetére
Amikor először írtad ezt a napokban, írtam egy kis tesztprogramot. Close() felszabadította a Show() formot, a ShowDialog()-ot nem.
"The two conditions when a form is not disposed on Close is when (1) it is part of a multiple-document interface (MDI) application, and the form is not visible; and (2) you have displayed the form using ShowDialog. In these cases, you will need to call Dispose manually to mark all of the form's controls for garbage collection." [link]
Ami érdekes volt, Arrandale i5 laptopon volt vagy három másodperc újra meghívni a Show() metódust (és megjelent az ablak), mielőtt a GC szanálta volna
[ Szerkesztve ]
-
Cyno
tag
Tudnátok segíteni mit rontok el?
A cél az lenne, hogy az első form textbox-ából adja át a szöveget a második formban található labelnek.
Az első formba ez a tulajdonság került:
public TextBox tbText
{
get
{
return textBoxUserName;
}
}
A második formba:
-egy ref:
public partial class FormMain : Form
{
private FormLogin frmLogin;
public FormMain()
{
InitializeComponent();
}
...
És a form2_load alá:
private void FormMain_Load(object sender, EventArgs e)
{
frmLogin = new FormLogin();
// textBoxFromFormLogin.Text = frmLogin.tbText.Text;
label4.Text = frmLogin.tbText.Text;Sajnos nem jelenít meg semmit.
Ez az egész azért kellene, mert így tudnám kiszűrni, hogy a felhasználónak mihez van jogosultsága. A form2-be átvitt szöveg(userName) alapján lekérdezném, hogy melyik falhasználónak sikerült bejelentkezni, és van-e jogosultsága bizonyos tabpage-ket látni.
Gondolom, biztos van elegánsabb megoldás, de ezt tudtam kitalálni. -
Cyno
tag
Kipróbáltam egy szűz projekten.
Form1:
public partial class Form1 : Form
{
private Form2 frm2;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Show();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = frm2.textBox1.Text;
}Form2:
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
frm1= new Form1();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = frm1.textBox1.Text;
}Mind a 2 formon egy-egy textbox és button.
Textbox-ok persze publicra állítva.
Form2-ről probléma nélkül másol, de form1-ről ugyanúgy empty-t másol. -
WonderCSabo
félisten
A cél az lenne, hogy az első form textbox-ából adja át a szöveget a második formban található labelnek.
Nem értem mi ezzel a gondod:
public partial class Form1 : Form
{
private Form2 frm2;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Show();
}
private void button1_Click(object sender, EventArgs e)
{
frm2.LabelText = textBox1.Text;
}
}public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public String LabelText { set { label1.Text = value; } }
}Szabesz: Jaja, pont most akartam írni. Nem végtelen ciklus, hanem végtelen rekurzió, de mindegy is.
[ Szerkesztve ]
-
ubid
őstag
Helló!
Microsoft MCTS vizsgából van valakinek tapasztalata ?
Miből érdemes tanulni rá. melyiket érdemes megcsinálni.
(természetesen .NET )
-.-
-
ubid
őstag
-
ubid
őstag
-
Cyno
tag
válasz
WonderCSabo #3343 üzenetére
Köszönöm nektek!
Ez bejött WonderCSabo!!
Vannak foltok az OOP tudásomon, ha egyáltalán nevezhetem annak. -
Cyno
tag
Próbálom dll-ekbe kiszervezni a kódomat, természetesen elakadtam.
Egyet elkezdtem külön az SQL műveleteknek.
A projectemhez hozzáadtam egy app.config állományt.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--Melyik szolgáltató-->
<add key ="provider" value="System.Data.SqlClient"/>
<!--Kapcsolatsztring-->
<add key ="cnStr" value="Data Source=(local)\SQLEXPRESS;Initial Catalog=UsersDB;Integrated Security=True;Pooling=False"/>
</appSettings>
</configuration>
A dll-be ez a kód került:
namespace Connect
{
public class UsersDbConn
{
public string cnStr = ConfigurationManager.AppSettings["cnStr"];private SqlConnection sqlCn = new SqlConnection();
public void OpenConnection(string cnStr);
{
sqlCn.ConnectionString=cnStr;
sqlCn.Open();
}}
}
Az aláhúzottak hibásak.
VS szerint :Error 7 'Connect.UsersDbConn.sqlCn' is a 'field' but is used like a 'type'
Ú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!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- Autós topik látogatók beszélgetős, offolós topikja
- CASIO órák kedvelők topicja!
- Magyarított Android alkalmazások
- F-Secure termékek
- Milyen légkondit a lakásba?
- Kiszivárgott információk az új AMD chipek érkezéséről
- 5.1, 7.1 és gamer fejhallgatók
- Kínai, és egyéb olcsó órák topikja
- További aktív témák...
- Videókártya felvásárlás, csomagküldéssel is. Készpénzes vagy utalásos kifizetés.
- Processzor felvásárlás, csomagküldéssel is. Készpénzes vagy utalásos kifizetés
- Processzor felvásárlás, csomagküldéssel is. Készpénzes vagy utalásos kifizetés
- Alaplap felvásárlás, csomagküldéssel is. Készpénzes vagy utalásos kifizetés.
- Alaplap felvásárlás, csomagküldéssel is. Készpénzes vagy utalásos kifizetés.