Laden...

Forenbeiträge von demondriver235 Ingesamt 496 Beiträge

21.08.2006 - 10:52 Uhr

@.Kai

danke für die schnelle antwort, das kommt mir sehr entgegen

21.08.2006 - 10:50 Uhr

hi eisbär,

hilf dir das vielleicht?

http://alexonasp.net/samples/stringformatting/

21.08.2006 - 10:32 Uhr

hi

@all
vielen dank erstmal für die antworten!

@waschbecken
kann ich statt MS SQL auch mySQL nutzen?

und ich bin auch kein freund von clickiClicki
da ich sehr viel datenbank abhängige anwendungen schreiben
baue ich meine forms soweit es geht dynamisch im code.

@Cord Worthmann
ich habe keineswegs vor alle anwendungen auf asp zu ändern alles wo ich z.B.
eine waage einen scanner oder andere maschinen angeschlossen habe
soll lokal bleiben
aber einige abfragen, reports oder darstellungen die auf daten einer datenbank(mySQL5, DB2) beruhen können doch meiner meinung nach besser im intranet über eine webpage abgerufen werden oder?

20.08.2006 - 18:58 Uhr

hallo,

ich bin am überlegen für unsere firma von .net (lokal) anwendungen auf asp.net
umzustellen z.b. wegen der neuinstallationen bei änderungen im programm
die dann auf jedem client dürchgeführt werden müssen.

hat jemand kurz lust mir zu erklären was man hard und software mäßig braucht
und wie die generelle funktionsweise und vorgehensweise ist.

helfen würde auch eine literatur empfehlung

19.08.2006 - 21:40 Uhr

ich glaube nicht das das möglich ist selbst wenn das müsstest du ja die ganze berichtsformatierung dynamisch zu laufzeit erstellen

hast du keine alternative?

wieviele mögliche verschieden tabellen willst du denn damit abdecken?

19.08.2006 - 21:27 Uhr

zum punkt update:

//command builder erstellen

OdbcCommandBuilder Commandbuilder = new OdbcCommandBuilder(Adapter);

//und dann update

Adapter.Update(DataTable);

wichtig ist das du vor dem füllen dem adapter die property
Adapter.AcceptChangesDuringFill = false; zuweisst

mit acceptchanges machst du genau das gegenteil, damit änders du den rowstate von deleted modified oder added wieder zurück

19.08.2006 - 17:13 Uhr

falls du dich für crystal entscheiden solltest (meiner meinung nach besser)

such einfach mal im forum nach crystal reports

dann solltest du alles nötige finden

das wurde schon einige mal im detail erklärt

diagramme --> im crystal report in der menüleiste.. crystal report - einfügen - diagramm

18.08.2006 - 22:30 Uhr

naturlich arbeite ich samstags, aber du hast recht (nicht in der firma) !
...is schon spät!

18.08.2006 - 22:15 Uhr

daran hab ich mir auch schon die zähne ausgebissen

ich hab auch keine standart möglichkeit gefunden
mein einziger vorschlag ist:


private void dataGridView1_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentCell.ColumnIndex == 0)
            {
                ComboBox tb = new ComboBox();
                tb.Name = "tb";
                tb.Size = dataGridView1.CurrentCell.Size;
                tb.Leave += new EventHandler(tb_Click);
                tb.Location = new System.Drawing.Point(
                                                        dataGridView1.CurrentCellAddress.X + 40,
                                                        dataGridView1.CurrentCellAddress.Y + 20);

                //add the items from the grid box to the combobox
                for (int i = 0; i < comboBoxColumn.Items.Count; i++)
                {
                    tb.Items.Add(comboBoxColumn.Items[i]);
                }
                this.dataGridView1.Controls.Add(tb);
            }

also im prinzip beim click auf die comboboxim grid eine standard combobox (da kannst du ja reinschreiben)
darüberzulegen, alle items zu übernehmen
dann wenn die combobox wieder verlassen wird und die anzahl der intems in beiden boxen nicht mehr == ist die items ersetzen ansonsten den in der stadardbox gewählten wert auf die gridbox zu übernehmen

dabei muss mann die zur laufzeit erstellte combobox natürlich dynamisch genau über
die active zelle im gridview legen nicht wie in meinem beispiel fixe koordinaten.

vielleicht bringt dich das ja auf eine idee, mir fällt sonst auch keine andere lösung ein

18.08.2006 - 22:08 Uhr

nochmal interesse halber, was hast du denn mit der zeichnung vor?

ich hab damals in das panel mit pcPen unterschrieben
die bitmap dann als blob in einem byte[] aund dann in einem datatable
gespeichert und von da dann an einen crystal report übergeben
um so einen unterschriebenen bericht zu kriegen.

würde dir das auch helfen?

18.08.2006 - 22:04 Uhr

exakt das hab ich schin gemacht!
hab den code aber nur bei der arbeit

poste ich dir morgen früh

was du auf jeden fall machen solltest ist die zeichnung auf die picture box beschränken
hier schon mal der code
ich hab allerdings in ein panel gezeichnet nicht in eine picture box


      private void panelDraw_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (Cursor.Clip == panelDraw.RectangleToScreen(panelDraw.ClientRectangle))
            {
                Cursor.Clip = new Rectangle(0, 0, 0, 0);
            }
            else
            {
                Cursor.Clip = panelDraw.RectangleToScreen(panelDraw.ClientRectangle);
            }
        }

17.08.2006 - 22:35 Uhr

zum verständnis;

Y soll ein arry vom typ string sein

und x die anzahl der kombiniertern werte aus dem array?

poste doch mal deinen code den du bis jeztz hast
vielleicht kann man darauf aufbauen

17.08.2006 - 10:59 Uhr

für read only
this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;

ist doch richtig!
mit dem ausgwählten wert brauchst du ja nichts machen wenn du nicht willst

16.08.2006 - 18:13 Uhr

jetzt nochmal getestet so das auch die user ohne post angezeigt werden:

SELECT user.nickname, Count(post.user_id) AS Anzahlposts
FROM user LEFT JOIN post ON user.id = post.user_id
GROUP BY user.nickname, user.geloescht
HAVING (((user.geloescht)=0))

16.08.2006 - 18:06 Uhr

sorry das sollte natürlich heissen:

SELECT user.nickname, count(post.user_id) As Anzahlposts
from user INNER JOIN post ON user.id = post.user_id
group by user.nickname
having user.geloescht = 0

das sollte eigendlich funktionieren aber ich bau mir das mal eben nach.

16.08.2006 - 17:55 Uhr

ok probier mal bitte so:

SELECT user.nickname, count(post.user_id) As Anzahlposts
from user INNER JOIN name ON user.id = post.id
group by user.nickname
having user.geloescht = 0

16.08.2006 - 14:22 Uhr

wie wärs hiermit
SELECT nickname, sum(geposted) As summe
from user INNER JOIN name ON user.id = post.id
group by nickname
having geloescht = 0

16.08.2006 - 13:13 Uhr

ich glaub ich habs

mach mal diese abfrage

SELECT MSysObjects.Type, MSysObjects.Name
FROM MSysObjects
WHERE (((MSysObjects.Type)=4));

damit fragst du die access systemtabellen nach anzahl und namen der vonhandenen
tabellen ab.

dann brauchst du nur noch meit ner schleife alle durchgehen.

16.08.2006 - 12:29 Uhr

sorry fürchte ich kann dir nicht wirklich weiterhelfen
wenn du rauskriegst wie du die anzahl tabellen in der DB zählen kannst

bräuchtest du ja nur noch in einer for oder for each schleife
für jede tabelle einen eine select * ausführen

mein problem ist das ich nicht weiss wie du die namen oder die anzahl der tabellen einer access db zurückkriegst.

16.08.2006 - 12:23 Uhr

überleg mal ob es vieleicht sinn mach die auswahl in einer settingsklasse zu speichern
die kannst du dann von überall abrufen auch vom mainfrm.

16.08.2006 - 09:58 Uhr

sorry ich versteh nicht genau was du möchtest
was für tabellen lädst du denn?
welche datenbank?
nutzt du odbc treiber?

beschreib mal ein bischen mehr

14.08.2006 - 17:04 Uhr

sorry hab die ein bischen zuviel versprochen hab das programm gerade nochmal getestet der import deiner dbf datei funktioniert aber der export zu csv nicht wirklich ich hjab da grad nochmal kurz dran rumgebastelt aber das nicht wieder hingekriegt
vielleicht hilft dir der vorhanden sourcecode ja so das du das selber bauen kannst zumindest kannst du sehen das die umlaute und so richtig angezeigt werden du muss halt nur die dsn und so auf deine treiber umstellen

gruss

ach ja der code ist ziemliches chaos ich hoffe du findest da durch, aber wie gesagt das war reines testgeballer!!

14.08.2006 - 16:34 Uhr

ich frikel dir noch eben den mysql kram da raus damit das bei dir funktioniert
dauer eben ca ne viertel stunde.

14.08.2006 - 16:23 Uhr

ich hab auch nen selbsgeschrieben converter von foxpro zu csv
allerdings ziemlich viel hardcodiertes drin wae nur ne fingerübung
der liest deine datei mit umlauten in visual studio ein
interesse?

14.08.2006 - 14:56 Uhr

kannst du denn deine tabellenstruktur noch ändern?
das wäre wahrscheinlich am einfachsten

14.08.2006 - 14:38 Uhr

aha das ist mit standard SQL meiner meinung nach nicht zu machen zumindest nicht mit diese tabellenstruktur da wirst du wohl ein workaround machen müssen....

14.08.2006 - 13:55 Uhr

gejoint oder nicht ist doch egal das abfrage ergebnis ist doch eine tabelle
poste doch mal deine select string

14.08.2006 - 13:20 Uhr

damit fügst du im pronzip zwei spalten zusammen das ist doch was du möchtest oder?

14.08.2006 - 12:57 Uhr

kuck dir mal getter / setter methoden an

14.08.2006 - 12:55 Uhr

hab versucht dir meine dll anzuhängen war aber größer als 200kb schade,
die dll heisst VFPODBC.DLL und ist version 6.01.8630.01
ach ja du musst in der odbc treiber konfiguration "verzeichniss mit freien tabellen" auswählen und nicht fox pro vielleicht hilft das schon

wohin willst du denn die daten exportieren?
ich hab vor einiger zeit mal einen converter von fox pro mysql geschrieben falls du was ähnliches vorhast.

14.08.2006 - 12:08 Uhr

ich hab deine datei jetzt über den odbc treiber microsoft fox pro VFP (*dbf) mit access geladen und die umlaute sind alle da

womit lädst du die tabellen den und was hast du damit vor?

14.08.2006 - 11:45 Uhr

mmmh das sollte mit den fox pro triebern eigendlich funktionieren da die dbf dateien im ansi format lesen
kannst du vielleicht ein beispiel file posten?

14.08.2006 - 11:17 Uhr

das klingt ziemlich nach visual fox pro, probier die treiber mal aus

14.08.2006 - 10:50 Uhr

welche dbase version?

14.08.2006 - 10:48 Uhr

geht nicht das:

select tabelle1.group1 | tabelle2.group1 as group

08.08.2006 - 14:16 Uhr

was willst du denn als datasource für die combobox haben ein array ode ein datatable oder ?

08.08.2006 - 13:28 Uhr

ja, die einzelnen columns auch

08.08.2006 - 13:21 Uhr

readonly = false //?

08.08.2006 - 11:48 Uhr

dann bau das doch schon in deinen SQL-string mit ein

HTML:

ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>" SelectCommand="SELECT a, left(b,10), c FROM X">

mit left (spaltenname, anzZeichen) kannst du doch schon in sql den rest abschneiden

gruss

08.08.2006 - 08:29 Uhr

sorry das ich jetzt erst antworte hab gestern früh feierabend gemacht.

zu deinem problem, mal davon abgesehen das ich von diesen generatoren zumindest für tableadapter nicht viel halte kannst du auch dort mit variablen arbeiten
und zwar jedesmal wenn du in deinen command text ein ? einbaust fragt er dich im query generator vor ausführen der abfrage nach dem dort einzusetzenden wert.

im code kannst die diese parameter auch ansprechen.

ungefahr so: dataadapter.SelectCommand.Parameters[0].Value = deinWert;

und so weiter.

details findest du auch in der dokumentation

07.08.2006 - 18:03 Uhr

ich weiss nicht genau ob ich dich richtig verstanden habe aber im code kannst du doch einfach deine variable in den sql string einsetzen

bsp.:

@" SELECT
a,b,c
FROM
X
Where (x =' + this.textbox1.text + " )' ";

07.08.2006 - 17:00 Uhr

dann musst du das eben per hand machen

probier mal das:

erstelle einen cellstyle

System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle = new System.Windows.Forms.DataGridViewCellStyle();
dataGridViewCellStyle.Format = "d"; //d= shortDate

und weise deiner Column dann diesen style zu

this.xYDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle;

ungetested.

07.08.2006 - 16:30 Uhr

hi,

ich denke es macht nur sinn die datensätze zu laden die anzeigen lassen oder verändern möchtest du kannst ja schon in der abfrage die tabellen so mit joins verknüpfen das du nur die daten aus verschieden tabelle läds die du auch brauchst.

07.08.2006 - 16:28 Uhr

hi,

ich mach das immer so das ich im generator beispielwerte einsetze
und dann nur im code mit den variablen arbeite.

07.08.2006 - 16:26 Uhr

hi,

klick im design modus dein datagrid an gehe ins eigenschaftenfenster
klicke neben der eigenschaft columns auf auflistung
dann klicke im fenster auf die spalte die du formatieren möchtest
dann ganz oben im fenster auf defaultCellStyle klicken
dann kannst du ganz unten bei format das kurze datum auswählen.

21.06.2006 - 10:53 Uhr

kuck dir mal die PCSHLL32.dll an
sollte unter C:\Programme\IBM\Client Access\Emulator liegen
die ist für die remote steuerung

gruss

08.06.2006 - 12:43 Uhr

hi,

fülle deine daten doch vom array in ein dataset.datatable das kannst du dann wunderbar als datenquelle für deinen report nehmen oder wenn dein array immer gleich viele einträge hast kannst im report auch mit parameter feldern arbeiten

29.05.2006 - 14:04 Uhr

was möchtest du denn genau machen ich habe dich so verstanden das du die string für deinen constr irgendwo hinterlegst z.b. in einer settings klasse und deinen ganzen string dann von überall als eigenschaft einer klasse abrufen kannst.

oder möchtest du etwas anderes?

29.05.2006 - 13:33 Uhr

hi

kuck dir mal getter & setter methoden an
das solte idr helfen