Új hozzászólás Aktív témák
-
Kommy
veterán
Sziasztok elég kezdő vagyok a C#-ban eddig objective c-ben programoztam csak (IOS), Most viszont kéne csinálnom egy windows-os programot.
A kérdésem az lenne, hogy van egy Access adatbázis fájlom egy szépen meg tudom nyitni, ki is iratom belőle amit kell (dataGridView),
SQL lekérdezés: "SELECT ID, Nachname, Vorname, Jahrgang, Lizenz, Land, Club , Adresse, Telefon, E_Mail, Anmerkung, Startnr FROM AdressbuchEkkor valamiért az id-t a 2-es oszlopban érem el, ezek mellett van még két gomba sorban egy szerkesztés és egy törlés.
Ekkor tökéletesen működnek a gombok.Na most az adott Form-on van egy kereső mező amibe beírva a sz9veget szűkíti a dataGridView-ban levő sorokat a következő lekérdezéssel
SQL: "SELECT ID, Nachname, Vorname, Jahrgang, Lizenz, Land, Club , Adresse, Telefon, E_Mail, Anmerkung, Startnr FROM Adressbuch WHERE VorName like'" + toolStripTextBox2.Text + "%' or NachName like'" + toolStripTextBox2.Text + "%'"Viszont itt már ha rányomok a gombra akkor: Input string was not in a correct format. hibaüzenetet kapom ami amiatt van hogy ekkor az id a 0-s oszlopban érhető el.
Én úgy gondolnám, hogy a dataGridView-bana lekérdezés sorrendjében történik a "besorolás". Valamiért az elsőnél előre kerülnek a gombok , de a kinézetben jó helyen vannak a sor végén.
-
Kommy
veterán
Még egy kérdés, hogyan oldható meg, hogy ha átméretezem az ablakot akkor a rárakott dolgok is átméreteződjenek.
Értem ezalatt pl a tabControl vagy toolstrip -
Kommy
veterán
Sziasztok!
Leírom mit szeretnék csinálni egy 7 oszlopos táblázatszerűséget (de nem akarom hogy úgy nézzen ki), az első 3 oszlop egy adatbázisból jön (név, azonosító, életkor), utána levő 3 oszlop számot kér be (vagy ha már ki van töltve az adatbázisban akkor beírja onnan az adatokat), az utolsó oszlop pedig összeadja az előző 3 oszlop értékeit.
Gondoltam megcsinálnám a kinézetet label-ekkel és a átírnám a szövegét, a labelek-nek, de sajnos valami miatt nem írja át a label-t
textlabel.Text = "név";
sorral, amikor fut a DataReader akkor bele is írom az adott label-be a megfelelő "értéket", de nem változik meg.Valami ötlet, hogy hogy tudnám ezt megoldani, vagy valami más elgondolás, hogy ez normálisan is nézzen ki, ne pedig egy táblázat legyen.
-
Kommy
veterán
sziasztok lenne egy olyan gondom, hogy van egy textbox-om, amit ha változtatok akkor ellenőriznem kellene, hogy szám van e benne mivel számolnom kell vele.
AMivel próbálkozok:
private void Round11_TextChanged(object sender, EventArgs e)
{
string value = Round11.Text;
int myNumber = 0;
if (!string.IsNullOrEmpty(value))
{
int.TryParse(value, out myNumber);
if (myNumber > 0)
{
Console.WriteLine("Beírt szám: " + myNumber);
}
}
}A gondom az , hogy teljesen mindegy mit írok be sehogy sem jó mindig 0-át ad vissza, tehát nem is lép bele az if-be, hogy kiírja a beírt számot.
A múltkori kérdésem megoldódott, kivettem a groupbox-ból a szövegeket és jó lett, de most textbox-okkal van ugyan ez a probléma, amibe írni is lehet, ha nincs alap adat.
-
Kommy
veterán
Nem nagyon értem most beraktam tesztként egy új textbox-ot textBox1 néven és egy labelt label1 néven, majd bemásoltam a kódodat és ugyan úgy nem működik.
kiírja, hogy Nem sikerült: ...Viszont amit észrevettem szerintem ennek se így kéne működnie, ugye van a label1 label amiben benne hagytam a szöveget és amikor beleírja a kódod akkor lesz belőle: label1 került: ...
-
Kommy
veterán
Na haladtam de megint elkezdte a nem adok eredményt szindrómát.
ugye van egy 4 oszlopból és 8 sorból álló beviteli mezőm, az utolsó oszlop az első 3 összege így az nem módosítható.
A lényeg, hogy itt soronként végig tudjak menni TAB-al, így a tabindex-et beállítottam szépen sorba, 1-24-ig.
Viszont a 3,6,9,..,21-es indexű elemeket nem tudom olvasni a 24-es megy, sőt ha átírom a 3-ast 2-esre (ekkor kettő van ilyen), de működik mind a kettő, tehát összeadja szépen a sorban levőket. -
Kommy
veterán
van egy fő windows form-om amiben a fő dolgok futnak, amikor valamilyena datot kérek be akkor előhozok egy másik form-ot amiben az user be tudja írni a megfelelő adatokat, amikor ez bezárom megoldható, hogy a főform adott oldala frissüljön? Egy gridview van rajta ami egy access adatbázisból nyeri az adatokat és az egész fő egy tabcontroller, van és ha váltok tabot akkor újra töltődnek az adatok az adott tab-on.
Kis háttér infó a progiról, egy egy bmx verseny adatainak a bevitelére szolgál. Tehát mondjuk elindul a verseny, rányomko az adott korcsoportra beviszem az adataikat, ekkor a fő formban még ugye azt írja a program, hogy kvalifikáció, majd amikor bevittem az adatokat és megnyomom a mentés gombot, akkor lefut egy programkód ami beosztja a következő futam versenyzőit a megfelelő helyre és a fő formban meg kéne változni a kiírásnak monjuk döntőre a kvalifikáció helyett (az adatbázisban véghezmegy a változás ennek megfelelően.
-
Kommy
veterán
Sziasztok!
Valahogyan megoldható, hogy amikor bezárok egy form-ot akkor a fő form-om frissüljön valahogy?
A működés lényeg van egy fő form-om ahol adatok vannak kiírva, itt van néhány gomb amivel adatokat tudok felvinni, ezek a gombok mind megnyitnak 1-1 form-ot, majd amikor bezárom a form-ot akkor szeretném valahogyan automatán újratölteni az adataimat a fő form-ban lehetséges ez valahogy? -
Kommy
veterán
Tudtok valami jó kis tutorialt, a nyomtatásról ami használható? A lényeg, hogy nekem vannak adatai adatbázisban és abból kéne nyomtatnom.
-
Kommy
veterán
Egy olyan kérdésem lenne, hogy hogyan tudnám azt megoldani, hogy van egy filedialogom amiben egy Access adatbázis fájlt választok ki, amit ezután használ a program végig.
De valami miatt ha megnyitok egy második form-ot akkor már nincs meg az adatbázis útvonala.
A Form_load-ban nyitom meg a filedialog-ot, kiválasztom az adatbázist és az útvonalat elmentem egy változóba (databasePath) és kiíratom a form aljára is. A változó amibe lementem egy public string.
A másik form-ban fel van véve a fő form és a form1.databasePath-al kérném le az értékét de üreset ad vissza.Mit rontok el?
-
Kommy
veterán
válasz martonx #5686 üzenetére
Fájl megnyitás:
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Database Files (.mdb)|*.mdb|All Files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
path = openFileDialog1.FileName.ToString();
// databaseTextLabel.Text = path;
string connectionString = string.Format("Provider = Microsoft.Jet.OLEDB.4.0; Data Source={0}", path);
try
{
database = new OleDbConnection(connectionString);
database.Open();
reloadEvent();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}Ebben a formban van még egy Public string path deklarálva az elején még a
public partial class Form1 : Form
{
public string path;
}A másik form-ban pedig már nem érem el a path-t vagyis üres:
public partial class NewRacerForm : Form
{
Form1 f1 = new Form1();
public NewRacerForm()
{
InitializeComponent();
}
private void racersSaveButton_Click(object sender, EventArgs e)
{
string connectionString = string.Format("Provider = Microsoft.Jet.OLEDB.4.0; Data Source={0}", f1.path);
...Viszont azt nem értem még, hogy pl a public Form1() {...} miért hívódik meg amikor rányomok egy gombra ami egy másik Form-ot nyit meg.
[ Szerkesztve ]
-
Kommy
veterán
Még jómultkor kérdeztem a nyomtatásról. Köszönöm a segítséget végül a ReportView-er lett a befutó.
Viszont lenne egy kérdésem ezzel kapcsolatban, egy paramétert kéne megadnom a lekérdezésben szűrésnek, viszont amit neten találtam videóban működik egyszerűen nálma nem megy.
Készítek egy dataset-et abban benne van a lekérdezés minden működik, majd amikor hozzáírnám a feltételt
WHERE ID=@x
akkor hibát kapok, pedig mindenhol működik (video, 8:20-nál van a sűrés) csak nálam nem a hibaüzenet
Generated Select Statement.
Error in WHERE clause near '@'.
Unable to parse query textLehetséges, hogy az probléma, hogy nekem egy Access adatbázis fájlból kell dolgoznom?
Ha leokézom, hogy elmentse amit szeretnék és máshol megy (másnak), akkor a Egy vagy több szükséges paraméterhez nincs érték megadva. hibát kapom, ha pedig megpróbálnám beírni a paramétert akkor pedig már fordításkor:
No overload for method 'Fill' takes 2 arguments[ Szerkesztve ]
-
Kommy
veterán
Report készítésben kérném a segítségeteket.
Lenne egy olyan megoldásra váró gondom, hogy van nekem egy adatbázisom ebből készül a report, az első oszlop egy csoport ami ugye csak egyszer van kiírva az adatok a többi mezőben kitöltve és húznom kéne egy elválasztó vonalat a teljes táblázat zsélességben a csoport végén elválasztásnak, de nem tudom hogy tegyem meg ezt, mert a csoport vége oszlopba tudok most csak húzni, a táblázatban nincs több elválasztó vonal.
Ki magyarázat: itt a Cruiser feletti vonalnak az egész sorban végig kéne futni (most ahol vola van az az oszlopnak van az első Border-e engedélyezve, de ezt a többinél nem tehetem meg)A másik reporthoz tartozó kérdésem pedig, készítek egy márik report-ot is, itt pedig egy olyan problém lenne, hogy van ez a kinézetű táblázatom:
Itt azt első két sor statikus, de a következő sorok viszont maximum 8 sor lehet, mivel annyian vannak egy futamban, és azt szeretném megcsinálni, hogy egy reportban legyen benne az összes versenyző, de futamonként szétosztva (szisztéma szerint megvan az adatbázisban, tehát lehetne szűrni rá), de hogyan tudnám azt megcsinálni, hogy a felső sor ismétlődjön, ha egy adat mások lenne (futam),meg ugye a korcsoport szerint is szét kéne osztanom ez is tárolva van az adatbázisban.
-
Kommy
veterán
Van egy report-om, annak van egy datasource-e és ha vélelenül kihagytam egy adatot a datasource-ból akkor hogyan tudom berakni, hogy azt a reportban is tudjam választani, mert a datasource-ba berakom szépen látszik , de a report-ban nem akar megjelenni. Valakinek valami ötlet?
-
Kommy
veterán
válasz Peter Kiss #5714 üzenetére
Visual studoban csinálom, a beépített report viewer-t használom, és access adatbázisból van csinálva a datasource
-
Kommy
veterán
Lenne egy ilyen kinézetű reportview-m amit szeretnék egy oszloppal kiegészíteni, de sajnos azok az adatok semmilyen összefüggésben nincsenek az eredeti adatokkal. Annyi lenne a lényeg, hogy ugye maximum 8 sor lehet 1 csoportban és a másik rész is max 8 sort tartalmaz ezek a versenyzők rajthelyét jelölnék.
Nekem az is jó lenne ha lehetne olyat csinálni, hogy a csoport x-edig sora egy bizonyos számot kap beírásra, jelenleg a rajthelyek benne vannak az adatbázisban.
[ Szerkesztve ]
-
Kommy
veterán
Van valakinek valami ötlete arra, hogy a Querybuilder-ben megírt lekérdezés végeredménye jó sorrendben vannak a sorok, de a reportviewer-ben fordított sorrendben van, és hiába rendezem a lekérdezésben a report-ban mindig rossz a sorrend.
-
Kommy
veterán
Sziasztok!
Van egy olyan problémám, hogy Windows Forms alatt akarok olyat csinálni, hogy van egy rdlc fájlom és ezt szeretném kinyomtatni, de úgy hogy ne lássam az előnézeti képet, mert azt működik. Egyáltalán lehetséges ez valahogy, ha igen valaki tudna segíteni ebben.
-
-
Kommy
veterán
Ehhez még egy kis kiegészítés, ha Visual Studio-ból futtatom akkor nincs semmi probléma, de ha publikálom és feltelepítem akkor viszont arra hivatkozik, hogy nem találja az *.rdlc fájlt. Hogyan kéne beállítanom, hogy ez működjön, sőt jó lenne valahogy kiválaszthatóvá vagy saját magam meghatározhatóvá tenni hova telepítse a programot.
-
Kommy
veterán
Válasz magamnak.
az rdlc fájl így volt megadva: report.ReportPath = @"..\..\Report.rdlc";;
itt csak simán @"Report.rdlc"-t használva működik amint átállítottam, hogy másolja azt a fájlt is.Sőt arra is rátaláltam, hogy oneclick alkalmazásnál nem lehet telepítési lehet változtatni, de végülös jó így is.
-
Kommy
veterán
Sziasztok!
Lenne egy olyan problémám, hogy van egy combobox ahol a Partnerek nevei vannak aminél van autocomplete, hogy lehessen benne keresni. Így töltöm fel a combobox-ot és csinálom meg belőle az autocomplete adatbázist
public void FillDropDownList(string Query, System.Windows.Forms.ComboBox DropDownName)
{
using (var cn = new SqlConnection(conStr))
{
cn.Open();
DataTable dt = new DataTable();
try
{
SqlCommand cmd = new SqlCommand(Query, cn);
SqlDataReader myReader = cmd.ExecuteReader();
dt.Load(myReader);
}
catch (SqlException e)
{
Console.WriteLine(e.ToString());
return;
}
DropDownName.DataSource = dt;
DropDownName.ValueMember = "id";
DropDownName.DisplayMember = "Nev";
string[] postSource = dt
.AsEnumerable()
.Select<System.Data.DataRow, String>(x => x.Field<String>("Nev"))
.ToArray();
var source = new AutoCompleteStringCollection();
source.AddRange(postSource);
partnerBox.AutoCompleteCustomSource = source;
partnerBox.SelectedIndex = -1;
}A problémám ott van, hogyha lenyitom valamiért a combobox-ot és elkezdek gépelni és nyomok egy Enter-t akkor kifagy a programot
Amikor kifagy a következő hívódik meg
private void partnerBox_SelectionChangeCommitted(object sender, EventArgs e)
{
reload_RepairIn("..." + partnerBox.SelectedValue.ToString() + " ... ");
reload_RepairOut("..." + partnerBox.SelectedValue.ToString() + " ... ");
}Igazából itt újratöltöm a kiválasztás szerint a két dataGridView-t, viszont ugye kapok egy hibát (ugyan ez van a KeyDown eventben csak kiegészítve az Enter billentyű szűrésére, hogy csak akkor fusson le):
System.NullReferenceException was unhandled
HResult=-2147467261
Message=Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra.Ha meg van nyitva a comboBox és az Autocomplete is akkor ugye nem választódik ki a comboBox-ban az adott Partner és ezért kaphatok NullReferenceException-t ha jól gondolom. De ugye ha nem nyitom le tökéletesen megy az Autocomplet-es kiváélasztás Enter leütéssel, ha lenyitom szépen tudok egérrel kiválasztani, de ha lenyitom akkor az Enterre kiakad, az egérrel pedig a kitakart Combobox-ból választ nem az AutoComplet-ből ami ugye kitakarj az AutoComplet-et
[ Szerkesztve ]
-
Kommy
veterán
Tudtok nekem valami megoldást arra, hogy van egy maskedtextbox-om ami egy cikkszámot tartalmaz, de úgy szeretném tárolni az adatbázisban, hogy nincs formázva ez megoldható, mert úgy sokkal egyszerűbben lehetne keresni.
pl.: 1681233 --» 1.682-123.3 és itt szeretném a . és - nélkül tárolni[ Szerkesztve ]
-
Kommy
veterán
válasz sztanozs #6955 üzenetére
Mivel 1 keresőmezőm van, amiben több dologra is szűrök, és nem szeretném ha ismerni kéne a cikkszám formáját ahhoz, hogy keresni lehessen rá.
Tehát ebbe a kereső részbe megy szöveg is szám is, mint megnevezés , gyáriszám. És amúgy is sokkal egyszerűbben lehet csak számokat beírogatni mint a .-ot és - jelet.
-
Kommy
veterán
válasz lord.lakli #6957 üzenetére
Mert sokkal kultúráltabban néz ki, könnyebb észrevenni ha valamit elüt az ember ha tagolva van az adott cikkszám.
De ez nem tartozik a topik témájához, én arra kértem segítséget, hogy megoldható e, nem arra, hogy miért van így.
[ Szerkesztve ]
-
Kommy
veterán
Van egy hibám amire nem jövök rá, hogy miért van.
Lényeg bmx-es program, és eddig a klubbok nevei 20 karakterre voltak korlátozva az adatbázisban ez meg kell növelve, így most beleférnek a hosszabb nevű klubbok is, viszont jött vele egy hiba is amikor elkészíteném az rdlc reportot akkor ami 20 karakternél hosszabb a klubb neve ott a következő hibával találom magam szembe. A sql lekérdezés amiből képződik a report gond nélkül lefut. Tehát 20 karakterrel lefut 21-el ezt a hibát kapom:
[kép] -
Kommy
veterán
válasz pvt.peter #7055 üzenetére
Erre gondolsz?
System.Data.ConstraintException occurred
HResult=-2146232022
Message=A korlátozások érvényesítése sikertelen. Egy vagy több sor megsérti a nem NULL értékre, az egyediségre vagy az idegen kulcsra vonatkozó korlátozásokat.
Source=System.Data
StackTrace:
a következő helyen: System.Data.DataSet.EnableConstraints()
a következő helyen: System.Data.DataSet.set_EnforceConstraints(Boolean value)
a következő helyen: System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
a következő helyen: System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
a következő helyen: System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
a következő helyen: System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
a következő helyen: BMX.DesignatedTableAdapters.DataTable1TableAdapter.Fill(DataTable1DataTable dataTable, Nullable`1 EventID) hely: \\psf\home\Dropbox\BMX_fejlesztes\BMX\BMX\Designated.Designer.cs, sor: 1338
a következő helyen: BMX.Designate.Form2_Load(Object sender, EventArgs e) hely: \\psf\home\Dropbox\BMX_fejlesztes\BMX\BMX\Designate.cs, sor: 24
InnerException:Igazából én a report-nak 1 változót adok át amikor meghívom semmi mást, a többi az belül történik egy SQL lekérdezésből csinál egy táblázatot.
[ Szerkesztve ]
Ú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!
- EA Sports WRC '23
- Videó stream letöltése
- Azonnali informatikai kérdések órája
- Ubiquiti hálózati eszközök
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Motorola Edge 40 neo - színre és formára
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Autós kamerák
- Android alkalmazások - szoftver kibeszélő topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- További aktív témák...