Hirdetés
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- Klasszikus kínai festmények ihlették a Colorful legfrissebb memóriáinak külsejét
- Ultrakompakt Key E SSD-vel jelentkezett a Silicon Power
- Mesterséges intelligenciára kihegyezett mini PC jött az ASUS műhelyéből
- ASUS blog: ExpertBook P5 notebook, a munkagép
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- Házimozi belépő szinten
- TCL LCD és LED TV-k
- Vezetékes FÜLhallgatók
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen videókártyát?
- Autós kamerák
- Nem indul és mi a baja a gépemnek topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Új hozzászólás Aktív témák
-
nagyúr
"Szóval téged nem az érdekel, ha egy HttpPost-os action meghívódik, hanem az hogy kód szinten hány metódus van felannotálva (szép szó) a HttpPost attribútummal?"
Pontosan
Az Application_Start-ot nem akarom teleszemetelni, viszont van benne regisztrálva egy FilterProviderem, abban akarom kigyűjteni ezeket a httppost metódusokat.
Magáról a metódusról meg tudom állapítani, hogy van-e rajta httppost attributum, olyat már csináltam korábban:
bool hasHttpPostAttr = (actionDescriptor.GetCustomAttributes(typeof(HttpPostAttribute), true)).Any();
Köszi mindkettőtöknek, utána nézek a fentebbi linkeknek...
[ Szerkesztve ]
-
joysefke
veterán
Saját szórakozásra implementálok egy Seam Carving algoritmust. Az algoritmus meg körülötte egy WPF ablak már kész van, prototípus szinten szépen működik (egyelőre full fapad, de müxik).
Én is tegnap jöttem rá -világított rá valaki redditen-, hogy a Color az sokat foglal, mindjárt meg is nézem mennyit. Eddig szembe sem jutott, hogy a Color az nem 4 byte (8+8+8+8 = A+R+G+B).
A szükségesnél magasabb memóriafoglalás egyelőre nem zavar, egy 13mpx-es kép esetén az applikáció teljes memóriafogyasztás "csak" 500-550mb. A sebesség viszont sokkal gázabb. Parallel.For(), taskok és nem managelt mem hozzáférés segítségével már volt némi gyorsulás
Na mind majd visszajövök
Athlon64:
A kép kirajzolása másodlagos, kétszer kell kirajzolni: miután betöltötte a képet, illetve miután lefutott az algoritmus a módosított képet.Ha lesz időm töltök fel konkrét kódrészleteket, hogy lássuk mit lehetne hatékonyabbá tenni. Lenne mit
[ Szerkesztve ]
-
ubid
senior tag
hüm, van egy nagy server amin fut a WCF service ( ez lesz az a gép, amely begyűjti az adatokat, és feldolgozza) vannak kis beagle bone gépeink ( n darab) amelyekre usb-vel csatlakozik egy eszköz, amely adatokat tud küldeni a kis beagle bone-ra, amely pedig WCF-en kellene hogy továbbítsa a SERVERNEK.
körülbelül ennyi a koncepció.
a WCF gyors, ezért szeretnénk ezt választani. ( másodpercenként akár 60 adat is érkezhet / beagle )
.NET alatt meg van írva, van hozzá kliens is, és pont ez a sebesség ami kellene nekünk, viszont a kliensnek c++ osnak kellene lennie, ugyanis a beagle-ken csak linux fut, amire ugye csak c++ megy ( esetleg mono, ami meg igen butácska )[ Szerkesztve ]
-.-
-
trisztan94
őstag
+ (#5240) Karma
Végül sikerült megoldani RestSharp-pal a dolgot, tényleg elég fáradt voltam már, azért nem ment. További pluszpont neki, hogy async a dolog, ami követelmény az alkalmazásnál.
Tényleg, mielőtt hülyeségeket beszélek: Az async az külön szálon fut? Pl. a RestSharp ExecuteAsync(request, asynccallback) metódus.
A HTTPClient-et NuGet-ről töltöttem le, de ott mindig kihalt maga a httpclient osztály valami hibával. (Most nem vagyok Windows előtt, nem tudom replikálni az esetet, ha érdekel titeket, akkor holnap elvileg lesz a kezem ügyében windows)
------
Másik dolog, MySQL adatbázis kapcsolódással kapcsolatban:
Van egy távoli szerveren egy MySQL adatbázis, illetve van az app saját MSSQL adatbázisa. A két adatbázis felépítése teljesen ugyanaz, ugyanazok a táblák/oszlopok, ezeknek sorrendje, oszlopok típusai, stb. Az összes adat a távoli szerveren van amivel dolgozni kellene, ezeket az adatokat kellene lemásolni egy szinkronizálás folyamán, tehát szinkronizálni kell az adatbázisokat. Azért van egy külön lokális adatbázis, hogy offline is működjenek a funkciók. Ha nincs semmi a lokális adatbázisban, akkor letöltünk mindent, ha vannak benne cuccok, akkor pedig ellenőrizzük a timestampeket (minden sornak van egy timestampje), ha korábbi a lokális adatbázis verziója, akkor letöltjük a szükséges dolgokat a távoli cuccról (tehát hogyha webről vagy másik OS-ről (megvan már droira és iOS-re az app, nekem az iOS forráskódja meg, de így, hogy C#-on és Javascripten nevelkedtem, kb olvasni nem tudom, egyszerűen nem értem meg mi micsoda )), ha pedig újabb a lokális timestamp, akkor pedig feltöltjük az adatokat a távoli szerverre.
Az is fontos, hogy kiderült, hogy nem közvetlenül a MySQL adatbázissal kellene kommunikálni, hanem egy PHP scripttel. Erre kellett a HTTP POST, azzal kell elküldeni a MySQL query-t stringként + további paramétereket és egy JSON stringet ad vissza válaszként.
Na most ez így elég rossz, pár dologgal problémában vagyok, mind megértésileg, mind implementáció kérdésekben:
1. Egy senior kolléga azt mondta nekem, hogy az lenne a legjobb, ha egy web service lenne rákötve a MySQL adatbázisra, amivel közvetlenül tud szintén HTTP kérésekkel kommunikálni az app, de a C# saját LINQ Query szintaktikájával, és az objektumokat tudna visszaadni nem JSON-t.
1/a. Össze kellene állítanom egy ilyen web service demót, hogy tudjuk mutatni a megrendelő cégnek, hogy pontosan mit csináljanak. Na most itt ugye az az egyik kérdés, hogy tényleg azzal érdemes-e dolgozni,
a másik pedig, hogy hogy az istenbe néz ki egy ilyen dolog? Rá lehet-e egyáltalán rakni egy csak PHP és MySQL-t támogató szerverre? Ha igen, hogyan? Csinált már valamelyikőtök ilyet? Hogyan kezdjek egyáltalán neki ennek a dolognak?2. Hogyan kellene kb. kinéznie ennek a szinkronizációnak? Esetleg, ha valamelyikőtök csinált már ilyet, tudnátok egy nagyon primitív példát mutatni? Sajnos kötve vagyunk a MySQL-hez.
Köszönöm!
https://heureka-kreativ.hu
-
zsolt13
csendes tag
Először is köszi a választ.
Hogy jobban megértsd a problémámat:
A programom lényegében nem tesz többet, mint adatokat kér le egy MSSQL szervertől és ezeket különböző formátumokban (gridview, map, stb) megjeleníti adott esetben módosítja, mondjuk a felhasználók adatait. Ehhez a lekérdezéseket LINQ-val írtam meg, ami működik is szépen, de a konzulensem leszúrt, hogy nem használtam repository-t és DI-t.Ebbe kellene valahogy beleokoskodni ezt a két technikát, mivel szeretnék látni a szakdolgozatomban.... -
-
veterán
Ez a teljes, de ugye a vége nem az igazi. mert mondjuk egy hasonló listán nem igazán működik [link]
A 7 8 25 jelzi az utolsó fuvart, amit tudom hogy miként kéne elérnem (a nap számával megegyezőt - 7) lépek vissza a km-es listában, csak éppen azt nem tudom hogy miként...
Üdv. core2
[ Szerkesztve ]
-
veterán
-
veterán
Őszintén megmondom először megpróbáltam három külön listába berakni, gondoltam, hogy azt úgy tudom egymáshoz viszonyítva rendezni.
StreamReader sr = new StreamReader("tavok.txt");
List<int> a = new List<int>();
List<int> b = new List<int>();
List<int> c = new List<int>();
while (sr.Peek() > 0)
{
string sor = sr.ReadLine();
string[] darabolt = sor.Split(' ');
a.Add(Convert.ToInt32(darabolt[0]));
b.Add(Convert.ToInt32(darabolt[1]));
c.Add(Convert.ToInt32(darabolt[2]));
}
sr.Close();de ez így nem lesz jó, mert egymáshoz viszonítottan nem tudom a listákat rendezni, legalábbis még nem jöttem rá hogy miként kéne.
Üdv. core2
-
veterán
-
veterán
-
Brianiac
aktív tag
Na megvan a hiba.. Igen, ennél tényleg az volt a baj, hogy nem volt hozzá adva a projecthez... Az előzőnél meg az h a main tényleg kicsivel volt írva, aztán bezavart most, hogy két különböző kódnál is ugyanaz volt a baj, csak a gond nem ugyanott volt. Köszi a segítséget mindenkinek!
Lumia 520
-
-
j0k3r!
senior tag
na osszedobtam egy ilyet, mukodni mukodik szerintem, bar biztos van jobb/szebb megoldas is. igazabol azt akartam megmutatni vele, hogy milyen egyszeru linq segitsegevel ilyen adatokat kihalaszni egy adatforrasbol (object, sql, xml)
some men just wanna watch the world burn...
-
G3kko
tag
igen, minden albumon le kellene kérni a 3 legrövidebb, valamint 3 leghosszabb szám összegét; majd ezeket 10-es tömbökben tárolni (legalábbis így gondoltam), ahogy megvan egy érték úgy menne az adott tömb annyiadik elemének helyére, ahányadik albumhoz tartozik. Így végül lenne két 10-es tömb, a cd-k min és max értékekeivel. Innen már egy maximum kereséssel, a maximum értékek tömbjén, illetve egy minimum kereséssel a minimumok tömbjén, meg lehetne határozni azt, hogy melyik albumon áll össze a legrövidebb és melyiken a leghosszabb számhármas.
igazából egy sulis feladatról van szó; a linq láttán lehet hanyatt esne a tanár, sajna még a list-eket sem vettük, csak így véltem könnyen megvalósíthatónak, lehet így is "magyarázhatom majd a bizonyítványom", nem könnyű így "félig megkötött" kézzel
-
amargo
addikt
Megnézik Neked most olvastam, így csak egy kis kitartás kell
Leírom:
Ha már a projektek a Te kezedben vannak, akkor a localhost-on generáltasd ki a proxy-t (wsdl-ből generált osztály), vagy miért akarnád a frontend-en használni - jelenesetben, ahol host-od -, hozzáteszem a crossdomain policy-vel elég hamar megismerkednél a deploy - azaz a kihelyezés - a legutolsó lépés, már működő alkalmazást helyezünk ki. A host nem fejlesztésre való, így értelme sincs onnan generáltatni - ezért nem ütköztem még bele -, ha a célod egy publikus service, akkor más a helyzet, de arra ma már ne soap-ot használjunk.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Hmm, most nézem és a multipleSiteBindingsEnabled-et mintha nem támogatnák.. innentől értem a problémádat. De nem tudok rá mit írni..
Szerk: valahogy a Metaadatokat is szolgáltatnia kell, hogy őszinte legyek nem látom át az IIS beállításukat.
A másik ne egy publikus címről akar wsdl-t generáltatni, ha te magad vagy a fejlesztője, továbbá relatív path használata a célszerű.Ha pedig egy szervizt szeretnél publikálni, akkor is jó lenne látnod az IIS-t hozzá, mert bármi lehet.
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Lehet pont akkor írtam át benne egy névteret és nem engedte letölteni.
Töltsd le nézd meg, rakd ki és menni fog. Én is kiraktam gyorsan az említett oldalra és minden gond nélkül megy.[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Valami hasonló kellene, a névtereket nem írtam be mindenhova, de az alapvető problémád nem is ez volt, a névterek majd a generáláshoz kellenek.
TestWCFServiceHa ezt így kiteszed, akkor a helyes címet fogja visszaadni, de a névtereket majd írd ki. Azért megkérdem, hogy miért akarsz mindenképpen névtereket használni a DAL-ban?
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
amargo
addikt
Így első ránézésre:
- nem írtad ki a névtereket TestWCFService.Service,
- nem adtad meg az osztály névterét semSzerk:
Egy kis segítség, hátha így könnyebb megérteni.Átírtam a TestService->TestWCFService-re ne legyen megtévesztő, mert ez névtér és nem név.
[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
martonx
veterán
Végeredményt tekintve ilyenre gondoltam. Gyakorlatilag viszont nem.
LINQtoSQL-es expression-ös megvalósításra, ami már a Queryable-be is beépül, hogy a DB felé a select eleve úgy fusson le, hogy benne van a where valami like '%teszt%'
Ehhez mindenképpen Expression kell.Én kérek elnézést!
-
martonx
veterán
Ez a legújabb verziójú .NET 4.5-ös WCF?
Mert ASP.NET 4.5 vonalon nagyot fordult a világ, a Webmatrix-os simplemembership-et vette át az összes asp.net. Gondolnám, hogy WCF vonalon is már ezt használják, de lehet, hogy ott még maradt a régi. Legújabb WCF-et még nem próbáltam.Én kérek elnézést!
-
Peter Kiss
őstag
Nem fogod megúszni anélkül, hogy hozzányúlnál az alap provider-hez.
(A Reflector-t ajánlanám segítségnek még, a héten is plafonig ért a sz.r, és jó volt, hogy létezett.)
[ Szerkesztve ]
-
-
MrSealRD
veterán
Üdv!
Pont a héten akadtam bele én is ebbe...csak SL kapcsán. De elég hasonló/szoros a kapcsolat ASP.NET-el.
Én írtam egy saját membership és role providert (a profile nem kell ezért azzal nem foglalkoztam) Nem használom a beépített dolgokat. Saját adatbázist használok...
Most nem tudom megoldani, de később feldobhatom a forrását, ha érdekel...
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
martonx
veterán
MS-nek eddig is ott volt a Script#. Mostmár lesz TypeScript is.
A google-nak sem sikerült megreformálnia a JS-t, kíváncsi vagyok, hogy MS-nek sikerül-e?
Mondjuk a google mindig valami komplett új, az előzőekkel inkompatibilis megoldásban gondolkozott, ez a TypeScript elméletileg jobban átjárható lesz a JS-el, akár még el is terjedhet.Én kérek elnézést!
-
WonderCSabo
félisten
Sztem borzalmas lett az új felület, mintha visszaugrottunk volna az időben.
-
Des1gnR
őstag
Akkor ezt dobja: http://prohardver.hu/dl/upc/2012-04/12/63105_tap6ydmrn0gotftl_hiba.jpg
Most a legyen ön is milliomos című játékot akarom megírni. A program lényege végülis kész is van, de ha egy kérdésre jól válaszolok akkor tovább szeretném léptetni a következő kérdésre és nem tudom, hogy hogyan helyezzem el a do-while ciklust mert dobja itt a hibákat
class Program
{
static void Main(string[] args)
{
string connString = "server=****;database=*****;uid=****;password=****;";
MySqlConnection conn = new MySqlConnection(connString);
MySqlCommand command = conn.CreateCommand();
string eredmeny = "null";
Random r = new Random();
r.Next(1,5);
//do{
command.CommandText = "SELECT kerdes, valasz1, valasz2, valasz3, valasz4, megoldas FROM db2 WHERE id="+r.Next(4).ToString();
try
{
conn.Open();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
MySqlDataReader reader = command.ExecuteReader();
int valasz = 0;
while (reader.Read())
{
Console.WriteLine(reader["kerdes"].ToString());
Console.WriteLine("1. "+reader["valasz1"].ToString());
Console.WriteLine("2. "+reader["valasz2"].ToString());
Console.WriteLine("3. "+reader["valasz3"].ToString());
Console.WriteLine("4. "+reader["valasz4"].ToString());
valasz = int.Parse(Console.ReadLine());
switch (valasz)
{
case 1:
if (reader["valasz1"].ToString() == reader["megoldas"].ToString())
{
eredmeny = "A valasz helyes.";
}
else
{
eredmeny = "Vesztettél";
}
break;
case 2:
if (reader["valasz2"].ToString() == reader["megoldas"].ToString())
{
eredmeny = "A valasz helyes.";
}
else
{
eredmeny = "Vesztettél";
}
break;
case 3:
if (reader["valasz3"].ToString() == reader["megoldas"].ToString())
{
eredmeny = "A valasz helyes.";
}
else
{
eredmeny = "Vesztettél";
}
break;
case 4:
if (reader["valasz4"].ToString() == reader["megoldas"].ToString())
{
eredmeny = "A valasz helyes.";
}
else
{
eredmeny = "Vesztettél";
}
break;
}
Console.WriteLine(eredmeny);
}
//} while (eredmeny == "A valasz helyes.");
}
}v+FF2lWBoI8RKD7176twPQoCFN6asdnG4s4NmMBKztabEWaFJmP8G6OCJiCJMWcJXwDrpRYTGyF5/W+spqFwWQ==
-
Sk8erPeter
nagyúr
Milyen gáz már egy olyan oldal, amit Silverlight nélkül meg sem lehet nézni (most épp Linuxon vagyok, lehet, hogy van kerülő megoldás ott is Silverlight telepítésére, de nem vagyok hajlandó ezzel szarakodni egy béna oldal miatt, aminek még a kezdőlapját sem lehet normálisan elolvasni anélkül ). Csak úgy tudtam normálisan elolvasni, mi van az oldalon, miről szól egyáltalán, hogy böngésző fejlesztőeszközében letiltottam annak a külön "vászonnak" a háttérszínét, ami arra hívja fel a figyelmem ronda piros háttér előtt, hogy szükségem lesz Silverlightra... Szóval érted, milyen oldal már az (egy szar ), aminél még azt sem lehet elolvasni egy beépülő nélkül, hogy egyáltalán miről szól.
Pont az ilyenekért utáltam mindig is minden agyonFlash-elt oldalt, most meg itt ez a csodálatos Silverlight...grrr..... Már megint abba a hibába csábítja az idiótább webfejlesztőket, hogy csak és kizárólag egy beépülőre építsenek egy oldalt (és annak hiánya esetén meg azonnali elhagyásra kényszerítse a többi látogatót).
Na, bocs az OFF-ért.[ Szerkesztve ]
Sk8erPeter
-
amargo
addikt
Azért elég régiek, mert ma már nem igazán használ senki ilyet. Egyetemeken még itt-ott oktatják, cégeknél is szoktam látni, de leginkább a modellt használatát javasolják
pl.: linq2sql, EF.Én c++ óta nem írtam lekérdezést kódba - linq-t kivéve -.
Azt megkérdezhetem, hogy sikerült regisztrálni? Mert nálam fel sem jön a regisztrációs fül, a bejelentkező fül, meg egyből rendszerhibát ír..
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
Elrood
őstag
-
Vasinger!
nagyúr
-
Jester01
veterán
Azért az egy elég csúnya példaprogram volt...
1. minek is bele annyi using?
2. minek beledrótozni az ascii kódot ha egyszer a fordító is tudja?
3. minek stringgé konvertálni, ha char-t is ki lehet írni?
4. minek a WriteLine hívásba még egy enter
5. ... és azt miért string összefűzéssel kell beletenni?
6. minek kell a betu változót inicializálni
7. ... és miért nem a ciklusmagban van?
8. miért nem lehet eleve char a ciklusváltozó?Az egy dolog ha valami működik, de lehetőség szerint ne ilyeneket tanítsunk már...
using System;
namespace abc
{
class Program
{
static void Main(string[] args)
{
for (char c = 'A'; c <= 'Z'; c++)
{
Console.Write(c);
}
Console.WriteLine();
}
}
}Jester
-
Spam123
tag
Köszönöm szépen segítséget, nem tudom mire mentem volna nélküle!
Console.WriteLine("Kérem a válaszaidat a magyar ABC betűivel A-F-ig vesszővel elválasztva!");
string s = Console.ReadLine();
int i2 = s.IndexOf(",");
string betű1 = s.Substring(0, 1);
string betű2 = s.Substring(i2 + 1, 1);
string betű3 = s.Substring(i2 + 3, 1);
string betű4 = s.Substring(i2 + 5, 1);
string betű5 = s.Substring(i2 + 7, 1);
List<string> válaszok = new List<string>();
List<string> megoldások = new List<string>();
int joválaszok = 0;
válaszok.Add(betű1);
válaszok.Add(betű2);
válaszok.Add(betű3);
válaszok.Add(betű4);
válaszok.Add(betű5);
megoldások.Add("A");
megoldások.Add("B");
megoldások.Add("B");
megoldások.Add("C");
megoldások.Add("D");
for (int i = 0; i < 5; i++)
{
if (válaszok[i] == megoldások[i])
{
joválaszok++;
}
}
Console.WriteLine("Érdemjegy: " + joválaszok);
Console.ReadKey(); -
Spam123
tag
Hát nem nagyon értem megmondom őszintén. Még sosem használtam ezt az iterálást, foreach-et. Hogy is van ez?
Ezt az egész kéttömbös szerkezetet nem értem. Előbb be kell gépelni a jó válaszokat egy tömbbel?Esetleg tudnál írni egy példát evvel a feladattal?
ha csak 5 kerdes van, akkor gyakorlatilag a jo valaszok szama lesz maga az erdemjegy is
Ez tiszta.[ Szerkesztve ]
-
bpx
őstag
az alkalmazásokhoz létre lehet (illetve van, ahol kell) hozni XML formátumú konfigurációs fájlokat (app.config, web.config, stb.), ami több okból is jó, pl. a program változtatása/újrafordítása nélkül is lehet befolyásolni a működését
ezt a ConfigurationManager osztállyal lehet könnyen feldolgozni
amit leírtál, az a konfig fájlból a megadott nevű ("vp.Properties.....") connectionstring XML elemre hivatkozik, és annak a connectionstring attribútumát adja vissza(#1631) Gregorius:
[link] (1.1MB a sok sallang miatt)
ha fordítani is szeretnéd, akkor kell pár dolog:
- VS2010 + .NET 4.0
- Silverlight 4 SDK
- Silverlight 4 Tools
- adatbázist (chess.bak) visszaállítani Management Studio-val (Sql Server 2008 Express)[ Szerkesztve ]
-
veterán
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 ]
-
veterán
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 ]
-
veterán
É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 ]
-
veterán
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 ]
-
veterán
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 ]
-
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...
-
veterán
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 ]
-
veterán
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 ]
-
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"; textboxokatAE
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]
-
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]
-
ArchElf
addikt
Gondolom azért nem látod, mert Form1.HatterKep-el akarsz hivatkozni rá - viszont ezekre az elemekre csak példányosítva lehet hivatkozni. Legegyszerűbb, ha a form2-nek átadod a form1 objektumát (form1-ben this technikai változóban van) és azt átadod a form2-nek példányosítás után. pl:
public class Form1...
{
...
private void fn()
{
Form2 form2 = new Form2();
form2.f1 = this;
form2.Show();
}
...
}
...
public class Form2...
{
...
public Form1 f1;
...
}
így a Form2-n tudsz hivatkozni a Form1 példányára az f1 változón keresztül...Remélem érthető voltam...
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]
-
ArchElf
addikt
-
x007
tag
Nem hülyeség, az általád linkelt előző problémánál is ugyanaz volt a baj okozója. Csak egyszer példányosíts System.Random osztályt, és ugyanannak a példánynak hívd a Next metódusát.
var a1 = (new Random()).Next()
var a2 = (new Random()).Next()helyett:
var rnd = new Random();
var a1 = rnd.Next()
var a2 = rnd.Next() -
x007
tag
Ugyanazt a System.Random példányt használd fel a véletlen számok generáláshoz. A System.Random default konstruktora az Environment.TickCount propertyt adja meg seedként, ami nagyon rövid időintervaluumon belül ugyanannyit ad vissza, így ugyanazok a számokat fogja generálni.
Szerk: jaa látom ezt nem is Te csináltad, a cikkben van egy hozzászólás, ugyanazt írja mint én
[ Szerkesztve ]
-
Sanyix
őstag
LOL hát igen, microsoft észjárás (tiszta idiotizmus), és minőség... "mi majd megmondjuk neked mi a jó, kussoljál!"
Köszi nincs több kérdésemszövegértelmezés, az ÉRTELMEZÉS a fontos, mert az olvasás mindenkinek megy, de az ÉRTELMEZÉS már komoly probléma a magyaroknál. Gondold ezt át mielőtt marhaságot írsz...
-
Jester01
veterán
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Új Magneplanar 1.7i hangsugárzó-pár. Csak kibontva volt. Gyári csomagolással! Végállomás is lehet!
- Apple iPad 9 gen. 10.2 2021 Wi/fi 64 GB Space Grey üvegfóliával és tokkal
- 1013 Eladó Dell Latitude 5590 15" i7-8650U/16GB/256GB Gyári Magyar bill patika állapotban
- Corsair 16GB KIT DDR4 2800MHz CL14
- Kingston Hyperx 2x16 5600MHZ DDR5 RAM
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest