Hirdetés

2024. május 3., péntek

Gyorskeresés

Hozzászólások

(#1551) Vasinger! válasza bpx (#1549) üzenetére


Vasinger!
nagyúr

Most itt konkrétan a cím részre gondolsz?
Mert ott van 2 szóköz jah, de akkor csináljuk úgy, hogy van ott 2 szóköz. A tanár nem magyarázta el túl értelmesen.

A splittet nem ismerem, a substring/indexof -ot tanultam csak.

(#1552) bpx válasza Vasinger! (#1551) üzenetére


bpx
őstag

static void Main(string[] args)
{
int i;
string s = "K ov ác s Kálmán, 9999 Budapest, Rigó út 41.";

// a bemenet három részre bontható, melyeket a ", " karaktersorozat (1 vessző és 1 space) határol
string[] ss = s.Split(new string[] { ", " }, StringSplitOptions.None);

// első rész: vezetéknév + keresztnév
// feltesszük hogy a keresztnév egyben van, tehát az utolsó space után jön, így azt kell keresni
i = ss[0].LastIndexOf(' ');
// vezetéknév, space-eket kicseréli üres stringre, nagybetűs
Console.WriteLine(ss[0].Substring(0, i).Replace(" ", "").ToUpper());
// keresztnév, nagybetűs
Console.WriteLine(ss[0].Substring(i + 1).ToUpper());

// középső rész: irányítószám város (közöttük szóköz)
string[] cim1 = ss[1].Split(' ');
Console.WriteLine("{0} {1}", cim1[0], cim1[1]);

// utolsó rész, három részből áll: név típus házszám.
// felbontható három részre, a középső rész figyelmen kívül hagyható, helyette UTCA írható
string[] cim2 = ss[2].Split(' ');
Console.WriteLine("{0} UTCA {1}", cim2[0].ToUpper(), cim2[2]);
}

mivel nincs valami pontosan specifikálva a feladat, a minimumra törekedtem, csak azt csináltam meg, amit említettél, és csak olyan bemenetre működik, amit példaként írtál (space lehet a vezetéknévben)
minimális változás a bemeneten, és már nem is működik, legyen vele valami dolgod neked is :P
(gondolok itt ilyenre pl. hogy vessző után nincs space, vagy az utca neve több tagból áll, pl. Petőfi Sándor utca 1.)

(#1553) ArchElf válasza bpx (#1552) üzenetére


ArchElf
addikt

Nevet regex-el könnyebb szétszedni, ha feltételezzük, hogy az összes név nagybetűvel kezdődik:
Regex:
Kov ács Lá szl ó -> Kovács László
Ád ámk a Ö dö n -> Ádámka Ödön
Sc hä ffer Brü n hil da Kl ár a -> Schäffer Brünhilda Klára

Kód: http://pastebin.com/FT9qQg3m

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]

(#1554) j0k3r! válasza j0k3r! (#1547) üzenetére


j0k3r!
senior tag

up

some men just wanna watch the world burn...

(#1555) ArchElf válasza j0k3r! (#1554) üzenetére


ArchElf
addikt

Két BindingSource kell, az első a BindingNavigator-nak (és a TextBox-oknak), a második pedig a GridView-nak. Az első BindingSource CurrentItemChanged eseményét pedig ehhez hasonlóan kell kitölteni (ha adatbázisról van szó):

private void bindingSource1_CurrentItemChanged(object sender, EventArgs e)
{
DataRowView drv = bindingSource1.Current as DataRowView;
bindingSource2.Filter = string.Format("KategoriaAzonosito = {0}", drv.Row["KategoriaAzonosito"].ToString());
}

AE

[ Szerkesztve ]

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]

(#1556) j0k3r! válasza ArchElf (#1555) üzenetére


j0k3r!
senior tag

koszonom szepen, este kiprobalom. :R

some men just wanna watch the world burn...

(#1557) sonar


sonar
addikt

Sziasztok

VB2k8-ban hogyan hívok meg tárolt eljárást?
Már egy ideje googlizok, de nem igazán találok épkézláb mintát.
Ha esetleg vkinek lenne, nagyon megköszönném!

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#1558) x007 válasza sonar (#1557) üzenetére


x007
tag

Én valamilyen ORM frameworkot javasolnék, azzal lehet a legegyszerűbben és leggyorsabban.

VB2008, akkor .NET 3.5, így most ez jut:

Linq to SQL
[link]

Persze, ha sok időd van, meg lehet csinálni alacsonyabb szinten is:
[link]

[ Szerkesztve ]

(#1559) ArchElf válasza sonar (#1557) üzenetére


ArchElf
addikt

Én általában leprogramozom a dolgot a System.Data.SqlClient-en keresztül.
// saját függvény, de akár fixen is meg lehet adnistring
cs = GetConnectionString("testConnectionString");
using(SqlConnection con = new SqlConnection())
{
con.ConnectionString = cs;
con.Open();
using (SqlCommand cmd = con.CreateCommand())
{
//Beállítani, hogy a Command SP legyen
cmd.CommandType = CommandType.StoredProcedure;
//SP neve
cmd.CommandText = "LastSessionPage";
//Paraméterek hozzáadása
cmd.Parameters.Add(new SqlParameter("SID", SessionID));
//Return Value (vagy akár out) is paraméterben használandó
SqlParameter pret = new SqlParameter("RETURN_VALUE", SqlDbType.Int);
pret.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(pret);
cmd.ExecuteNonQuery();
rval = Convert.ToInt32(pret.Value);
}
}

Ha datasetet ad vissza a SP, akkor nyugodtan lehet ExecuteReaderrel indítani a cmd-t, és SqlDataReaderrel olvasni. A fenti esetben csak a "poén" kedvéért paraméterben jön vissza a visszatérési érték, ha select-tel egy értéket ad ki (aggregűációnál, mint pl itt), akkor nem kell vacakolni a Return paraméterrel, simán ExecuteScalar-ral kell futtatni a parancsot.

AE

[ Szerkesztve ]

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]

(#1560) j0k3r!


j0k3r!
senior tag

hello!

a tegnapi utbaigazitas utan sikerult elorebb haladnom, de meg most sem tokeletes.
kod - eddig jutottam, de a CurrentItemChanged esemeny nalam valahogy nem akar mukodni, pedig letezik.
ha a kikommentelt reszt is futtatom, akkor kiirja az 1-es KategoriaAzonositohoz tartozo termekeket, szoval a szures jo. probakent feldobtam egy textboxot(TextBox5), de nem sok hatassal van ra a CurrentItemChanged esemeny.
valakinek valami otlet?
elore is koszonom

some men just wanna watch the world burn...

(#1561) ArchElf válasza j0k3r! (#1560) üzenetére


ArchElf
addikt

Meghívja az eseményt? Ha nem akkor lehet, hogy nem adtad hozzá az eseménykezelőt...
bs1.CurrentItemChanged += new System.EventHandler(bs1_CurrentItemChanged);

Amúgy a szövegdobozoknál:
....Enable = False; helyett legyenek inkább ....ReadOnly = True;-k, úgy kijelölhető benne a szöveg, de nem szerkeszthető.

Ja, és használj inkább breakpointokat a debugolásra, ne ilyen
textBox5.Text = "aasdasdasdsa"; textboxokat :)

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]

(#1562) j0k3r! válasza ArchElf (#1561) üzenetére


j0k3r!
senior tag

koszonom ismet :R
debugolni meg persze ugy szoktam, ez mar egy vegso elkeresedett debug volt : )

(#1563) stevve: de ez hazifeladat ~5 kategoria x 5 termekkel, csak az a baj, hogy ez a textboxos moka a kikotes a "Details" nezetnel :/

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1563) stevve válasza j0k3r! (#1560) üzenetére


stevve
nagyúr

Ha ez házifeladat, akkor nem szóltam, de ha nem, akkor gondolkodj egyszerűbben:

Ha nem százas nagyságrendű a kategóriák száma, fogod a DataSet-et (vagy bármit) és a kategóriákat betolod egy legördülőbe és abban lépegetve a kiválasztott elem (SelectedItem) lesz a szűrő a gridre. Ez szerintem szebb megoldás és még talán gyorsabb is és nem fogsz elveszni a bindingsource-ok között sem és kevesebb lesz a copy-paste is.

Meg használj hibakezelést (try-catch) is, ha lehet. Az úgy szebb, mint hagyni elveszni a hibákat. :)

mod:
és konkrétan ezzel a binding cuccal kell megoldani? Csak mert a példa úgy nem életszerű, nem úgy szoktuk.

[ Szerkesztve ]

(#1564) stevve válasza j0k3r! (#1562) üzenetére


stevve
nagyúr

eh, lejárt az időm... :)

Akkor viszont talán érdemes azon elgondolkodni, hogy feltehetnél egy gombot, képet, amin mondjuk nyilak vannak és azok reprezentálák a lépéseket. Azokkal is lehet léptetni a Dataset-ben a következőre. Az OleDb is kikötés vagy Oracle és amiatt van ez?Bár távol álljon tőlem, hogy beledumáljak. :)

[ Szerkesztve ]

(#1565) j0k3r! válasza stevve (#1563) üzenetére


j0k3r!
senior tag

bocs, kicsusztam az idobol. itt a feladat leiras.
most egyelore csak az elso reszet csinaltam meg a feladatnak, aztan ha mar jol mukodik, akkor a vegleges projectba hibakezelessel egyutt bepakolom.

(#1564) stevve: van egy BindingNavigator-om, amivel leptetek, ha erre gondolsz.
"Az OleDb is kikötés vagy Oracle és amiatt van ez?"

jo hogy szolsz, csak suliban oracle-s cucc volt, gondolom azert maradt benne :R

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1566) stevve válasza j0k3r! (#1565) üzenetére


stevve
nagyúr

Jah, látom, sok a megkötés. Én sosem használom a BindingNavigatort és úgy tapasztalom, más sem, ezért próbáltam más irányban, de akkor visszavonom. :)

(#1567) Vasinger! válasza bpx (#1552) üzenetére


Vasinger!
nagyúr

Köszi szépen.
Nem is tudom mivel háláljam meg.

Igaz még ezen van mit dolgozni bőven, sőt megérteni is, de nagy segítség hogy oda van írva minden magyarázatként. :R

AE (Albert Einstein:D ) módszerét is megnézem, neked is köszi!

(#1568) j0k3r!


j0k3r!
senior tag

hello!

megint en. valaki tudna valami segitseget adni ahhoz, hogy hogy kellene a lekerdezeseket megvalositani? (nem konkret query kell)
feladat: itt

elore is koszonom

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1569) j0k3r! válasza j0k3r! (#1568) üzenetére


j0k3r!
senior tag

up+ leirom a gondolatmenetemet, javitsatok ki legyszives, ha valami rossz.

szoval letrehozok egy sqlconnectiont:
SqlConnection con = new SqlConnection();
con.ConnectionString = "UID:Admin";

megnyitom:

con.Open();

letrehozok egy sqladaptert es egy datasetet, amibe a query eredmenyet tarolom:

SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds = new DataSet();
adapter.SelectCommand = new SqlCommand("SELECT * FROM Termekek WHERE KaterogiaAzonosito=1", con);
adapter.Fill(ds);

a datasetet beallitom a datagridview datasource-anak:
dgvForm1.DataSource = ds.Tables;

kapcsolat lezarasa:

con.Close();

elore is koszonom a segitseget

szerk: az egesz egy try catch blokkban van, es a a vegen dob egy: Format of the initialization string does not conform to specification starting at index 0 hibauzenetet

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1570) bpx válasza j0k3r! (#1569) üzenetére


bpx
őstag

UID=Admin, de szerintem ez kevés lesz connectionstringnek

(#1571) j0k3r! válasza bpx (#1570) üzenetére


j0k3r!
senior tag

koszonom. mi kellene meg bele?

az app.configomban ez van:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="dbproba.Properties.Settings.Kapcsolat" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\adatok.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
</configuration>

some men just wanna watch the world burn...

(#1572) stevve válasza j0k3r! (#1571) üzenetére


stevve
nagyúr

Ha connectionstring-ként tárolod az app.configban, akkor úgy is kell kiolvasni onnan:

string cnString = ConfigurationManager.ConnectionStrings["kapcsolatNeve"].ConnectionString;

De mindenek előtt hozzá kell adni a referenciákhoz a System.Configuration.dll-t és a using blokkba is fel kell venni.

[ Szerkesztve ]

(#1573) stevve válasza stevve (#1572) üzenetére


stevve
nagyúr

Még valami:

dgvForm1.DataSource = ds.Tables;

helyett

dgvForm1.DataSource = ds.Tables[0]; vagy ha van neve a táblának, az, máskülönben nem fogsz látni semmit a gridben.

(#1574) j0k3r! válasza stevve (#1572) üzenetére


j0k3r!
senior tag

kezdek kiegni : )
megcsinaltam, de ezt a hibauzenetet dobja.
kod

(#1573) stevve: ok. javitom. koszonom. javitva:
SqlConnection con = new SqlConnection();
string cnString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
con.ConnectionString = cnString;
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter();
dsAdatok ds=new dsAdatok();
adapter.SelectCommand = new SqlCommand("SELECT * FROM Termekek WHERE KaterogiaAzonosito=1", con);
adapter.Fill(ds);
dgvForm1.DataSource = ds.Termekek;
con.Close();

a
DataSet ds= new DataSet();
sort is atirtam:
dsAdatok ds=new dsAdatok();

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1575) stevve válasza j0k3r! (#1574) üzenetére


stevve
nagyúr

Egybe is vehető a connstring, viszont az app.configos nevét kell használni.

con.ConnectionString = ConfigurationManager.ConnectionStrings["dbproba.Properties.Settings.Kapcsolat"].ConnectionString;

Szerintem jó a sima DataSet is, nem kell ezt túlcifrázni egy ekkora feladatnál. :)

Ha a Tables[0] is benne van, elvileg jó lesz. Szerintem az object reference a connectionstring miatt volt. Használj break pointokat debugoláskor. :)

mod:
Ezeket megmutathatnád még, ha nem megy, mert ezekről nincs infó a kódban, amit linkeltél:

dsAdatok dsAdatok;
KategoriakTableAdapter taKategoriak;
TermekekTableAdapter taTermekek;

[ Szerkesztve ]

(#1576) stevve válasza stevve (#1575) üzenetére


stevve
nagyúr

No meg a finally-t érdemes használni a kapcsolat lezárásához, nem a try-ba betenni:

finally
{
con.Close();
}

Különben kivétel esetén nyitva maradhat.

Így talán szebb és jobb (a rendezést ne nézd...):

private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["app.configban a connstring neve"].ConnectionString;
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds = new DataSet();

try
{
con.Open();
adapter.SelectCommand = new SqlCommand("SELECT * FROM Termekek WHERE KaterogiaAzonosito=1", con);
adapter.Fill(ds);
dgvForm1.DataSource = ds.Tables[0];
}
catch(Exception ex)
{
MessageBox.Show("hiba: " + ex.Message);
}
finally
{
con.Close();
{
}

[ Szerkesztve ]

(#1577) j0k3r! válasza stevve (#1576) üzenetére


j0k3r!
senior tag

atirtam, de most meg:
Keyword not supported: 'provider'. - ezt a connenctionstringnel irja.

ha esetleg meg szeretned nezni, akkor felraktam ide a projectet.

some men just wanna watch the world burn...

(#1578) stevve válasza j0k3r! (#1577) üzenetére


stevve
nagyúr

Jogos, most nézem, hogy az app.configban ez van:

"providerName="System.Data.OleDb"

a kódban pedig SqlConnection.

Jah, mondjuk a hibaüzenet nem pont ezt mondja... :D

[ Szerkesztve ]

(#1579) stevve válasza stevve (#1578) üzenetére


stevve
nagyúr

Ilyen connectionstring nincs:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\adatok.mdb"

Mivel adtad hozzá?

(#1580) j0k3r! válasza stevve (#1579) üzenetére


j0k3r!
senior tag

szerintem a wizard csinalhatta, nem emlekszem, hogy belepiszkaltam volna :/

Server Explorer / Connect to Database, aztan
Data source: Microsoft Access Database File (OLE DB)
+kitalloztam neki az mdb filet
User Name: Admin
Password: <nincs>
aztan Test Connection - az nem irt hibat, asszem valahogy igy tortent.

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1581) bpx


bpx
őstag

hogyne lenne olyan connectionstring
SqlConnection-nél valóban nincs Provider, de OleDb-hez nem is SqlConnection kell
SqlConnection helyett OleDbConnection kell, és a többiből is Sql____ helyet OleDb____ osztályok kellenek

ez például tökéletesen lefut (csak ezt a részt piszkáltam, kicsit egyszerűsítettem + sűrítettem; de legalább produkál valami primitív működést :) )

OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\adatok.mdb";
try
{
OleDbCommand command = new OleDbCommand("select termekneve from termekek where termekazonosito between 1 and 5", con);
con.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read()) { MessageBox.Show(reader[0].ToString()); }
reader.Close();
}
catch (Exception ex) { MessageBox.Show("hiba: " + ex.Message); }
finally { con.Close(); }

viszont ehhez az adapteres mókához abszolút nem értek (és megtanulni sincs kedvem most, mert nemsokára lejár a munkaidő és indulok haza :D), azt majd valaki még megmondja neked, hogy hogyan kell

[ Szerkesztve ]

(#1582) stevve válasza j0k3r! (#1580) üzenetére


stevve
nagyúr

Értem. Sose használtam még varázslóval mdb-t. :) Sőt, utálom az Access-t.

megoldás:

OleDb-t kell használni, nem SqlCommandot!

private void button1_Click(object sender, EventArgs e)
{
var con = new OleDbConnection
{
ConnectionString =
ConfigurationManager.ConnectionStrings["dbproba.Properties.Settings.Kapcsolat"].
ConnectionString
};
var adapter = new OleDbDataAdapter();
var ds = new DataSet();

try
{
con.Open();
adapter.SelectCommand = new OleDbCommand("SELECT * FROM Termekek WHERE (KategoriaAzonosito = 1)", con);
adapter.Fill(ds);
dgvForm1.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(@"hiba: " + ex.Message);
}
finally
{
con.Close();
}
}

-Zeratul-:
SqlCommand nem ismer olyan providert, hogy OoleDb, erre értettem. :) Az eleje varászslós és utána már nem OleDb-t használt a kolléga, itt csúszott el.

[ Szerkesztve ]

(#1583) j0k3r! válasza bpx (#1581) üzenetére


j0k3r!
senior tag

-Zeratul- es stevve koszonom mindkettotoknek, remelem igy mar mukodni fog. :R
szerk: mukodik : )
es bocs, hogy szetgyilkoltam a topikot

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1584) bpx válasza stevve (#1582) üzenetére


bpx
őstag

ok, akkor még az adapteres részt áruld el hogy kell, mert ebben a formában nekem nem ment :P
pár perc szenvedés után inkább írtam egy tök alap lekérdezést, hogy legalább lássam, hogy működik a dolog

(#1585) stevve válasza bpx (#1584) üzenetére


stevve
nagyúr

Melyik részére gondolsz? A kolléga feljebb belinkelte a projektet, amiben már volt egy varázslós kapcsolat az mdb fájlhoz. Én már abból dolgoztam, de amúgy én se kínlódtam volna azzal. :) Jobb ezeket rögtön kódból lerendezni.

j0k3r!:
Nagyon szívesen, ezért van a topik. :)

[ Szerkesztve ]

(#1586) bpx válasza stevve (#1585) üzenetére


bpx
őstag

erre:

adapter.Fill(ds);
dgvForm1.DataSource = ds.Tables[0];

vagy nem így kell, vagy valami hiányzik

(#1587) stevve válasza bpx (#1586) üzenetére


stevve
nagyúr

De, ezt így kell. Feltöltöd a DataSet-et a query visszatérési értékével és a grid forrásának megadod a DataSet első táblájával. Ez absz. klasszikus megoldás. :)

persze lehet BindingSource-t is alkalmazni, de az ugyanez pepitában, mert akkor annak adod meg a DataSet-et.

[ Szerkesztve ]

(#1588) Lakers


Lakers
tag

Hello!

Kész, Silverlight alkalmazásból, vagy WPF, vagy C#-ból hogyan lehet exe-t csinálni?
Láttam a codeprojecten alkalmazásokat és a VS-ben szépen fut, de szeretném ha külön, ahogy némelyiknél van csak egy exe fájlból futna az egész. ez hogyan lehetséges? :R

(#1589) j0k3r! válasza Lakers (#1588) üzenetére


j0k3r!
senior tag

hello!

lehet hulyeseget irok, es felreertettem a kerdesed, de a projectet tartalmazo mappaban van egy bin nevu mappa, azon belul debug, es ott van az exe-d, persze ehhez debugolni kell elotte.

some men just wanna watch the world burn...

(#1590) stevve válasza Lakers (#1588) üzenetére


stevve
nagyúr

A Silverlight alapvetően webes cucc, exe-t ne nagyon keress abból, WPF-ből már találsz futtathatót, a C# pedig programozási nyelv. Gyanítom Silverlight-ra gondoltál, ha nem találsz exe fájlt.

Minden kiderül, ha fordítasz egyet Visual Studioban. :)

[ Szerkesztve ]

(#1591) Lakers válasza stevve (#1590) üzenetére


Lakers
tag

Így gondoltam, ahogy az oldalon is van, Ott a project forrásfájlja, és ott van külön egy exe amihez nem kell debugolni stb, csak nyomatja a játékot :)

http://www.codeproject.com/KB/WPF/Jigsaw.aspx

(#1592) j0k3r! válasza Lakers (#1591) üzenetére


j0k3r!
senior tag

hello!

letoltod a zip-et, aztan kitomorited, aztan megnyitod a jigsaw.sln filet (vs-ban), aztan f5, aztan kilepsz a vs-bol, aztan a jigsaw.sln mellett lesz egy bin mappa, azonbelul Debug mappa, es ott lesz a jigsaw.exe.
vs2010-ban most teszteltem es mukodik.

mas:

a multkori adatbazisos feladathoz kapcsolodoan volna egy kerdesem:
hogy lehetne a Kategoria tablan belul a KategoriaNeve-ket egy comboboxban megjeleniteni ? (az osszeset)

elore is koszonom a segitseget.

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1593) stevve válasza j0k3r! (#1592) üzenetére


stevve
nagyúr

Most nincs előttem VS, de a comboBox-nál is van DataSource. A grid mintájára készítesz egy lekérdezést, emiben csak a kategórianevek vannak és azt hozzáadod.

Kiválasztásnál meg a ComboBox SelectedIndexChanged eseményekor a comboBox.SelectedItem lesz a kiválasztott mező ebben az esetben.

[ Szerkesztve ]

(#1594) j0k3r! válasza stevve (#1593) üzenetére


j0k3r!
senior tag

koszonom.
kod:

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Configuration;
using vp.dsAdatokTableAdapters;

namespace vp
{
public partial class frmUj : Form
{
OleDbConnection con = new OleDbConnection();
public frmUj()
{
InitializeComponent();
con.ConnectionString = ConfigurationManager.ConnectionStrings["vp.Properties.Settings.adatokConnectionString"].ConnectionString;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataSet ds = new DataSet();
try
{
con.Open();
adapter.SelectCommand = new OleDbCommand("SELECT KategoriaNeve FROM Kategoriak", con);
adapter.Fill(ds);
cbKategoriak.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(@"hiba: " + ex.Message);
}
finally
{
con.Close();
}
}
}
}

ennek a hatasara a comboboxban lesz 5 db "System.Data.DataRowView".
az 5 az stimmel, csak a nevek nem : )

[ Szerkesztve ]

some men just wanna watch the world burn...

(#1595) Vasinger!


Vasinger!
nagyúr

Ma írtunk progon, hát nem ment valami fényesen, sőt sehogy, de szerencsére nem írta be az egyest.

Egy ilyen progit kellett volna megcsinálni:
3 számot kellett bekérni (1-től 5-ig) egymástól vesszővel elválasztva és ezeknek az átlagát venni. Nekem ez nem ment, vagy legalábbis meg voltak adva milyen parancsokat használjunk fel hozzá: Substring, IndexOf

Tudna valaki segíteni nekem és elmagyarázni, hogy mit hogyan kell?

(#1596) stevve válasza j0k3r! (#1594) üzenetére


stevve
nagyúr

jah... bocs, kell a combobox.datamember, illetve a combobox.valuemember, amiknek az oszlop nevét kell adni így valahogy:

combobox.datamember = "kategoriak"

de ha nem kódból csinálod, akkor a combobox tulajdonságainál is tudsz datasource-t hozzárendelni. Eh, de kár, hogy nincs VS a környékemen most. :)

Illetve egy harmadik mód, ha úgyis csak ez az egy oszlop van benne, hogy a DS-ből a Rows-t veszed.

Vasinger!:
Este igen... később. :)

[ Szerkesztve ]

(#1597) Vasinger! válasza stevve (#1596) üzenetére


Vasinger!
nagyúr

Ráérni ráér, akár egy hétig is. :) :R

(#1598) robotjatek válasza Vasinger! (#1595) üzenetére


robotjatek
tag

És ha mondjuk Split-et használtál volna azt el sem fogadja?

(#1599) Vasinger! válasza robotjatek (#1598) üzenetére


Vasinger!
nagyúr

Azt sajna nem is nagyon tudtam volna, de ha használom is akkor már csak 4-es.
Egyébként a tanár ezt a parancsot nem is ismeri, csak nézett volna :D

Egyébként próbálkoztam a Split-tel is, de nem nagyon értettem meg a használatát, vagy legalább is nem sikerült átvinnem erre a feladatra a megszerzett "tudást".

(#1600) j0k3r! válasza stevve (#1596) üzenetére


j0k3r!
senior tag

koszonom, igy mukodik:

cbKategoriak.DisplayMember = "KategoriaNeve";
cbKategoriak.ValueMember = "KaterogiaNeve";
cbKategoriak.DataSource = ds.Tables[0];

[ Szerkesztve ]

some men just wanna watch the world burn...

Copyright © 2000-2024 PROHARDVER Informatikai Kft.