Laden...
G
Gogeta myCSharp.de - Member
Anwendungsentwickler Izmir Dabei seit 14.08.2012 152 Beiträge
Benutzerbeschreibung
mfG Gogeta

Forenbeiträge von Gogeta Ingesamt 152 Beiträge

21.06.2013 - 12:21 Uhr

Hallo liebes Forum,

ich arbeite gerade an einer Diensanwendung.
Hier besitze ich einen Timer:

System.Timers.Timer timer = new System.Timers.Timer();

Mittels:


timer.Tick += new EventHandler(timer_Tick);

void timer_Tick(object sender, EventArgs e)
{
   // Funktion;
}

Soll immer die Funktionen durchgeführt werden.

Jetzt wollte ich euch fragen wo ich dem Timer eine Uhrzeit hinterlegen kann, z.B. 12 Uhr (12:00:00) sodass er jedentag um 12:00:00 diese Funktionen durchführt.?

Besser wäre es wenn ich die Uhrzeit in die App.Config hinterlegen könnte, da könnte man sie dann später jedesmal anpassen 😃

Lg

16.05.2013 - 10:53 Uhr

Okay Alles klar danke 😃

Habt mir beide sehr weiter geholfen 😃

Dann haben sich alle fragen beantwortet 😃

Schönen Tag noch

16.05.2013 - 10:18 Uhr

Ahhh 8o

Ich habe aufdieser Seite gelesehen das man das so machen sollte:

GRANT Select (TrName) ON Trainer TO Benutzer A

Aber dann wusste ich halt nicht wie ich das mit anderen Tabellen verknüpfen kann.

Danke auf jedenfall 🙂

Viel Dank ^^

Lg

edit.:
Ich habe da mal noch eine frage xD
Benutzer B(ist in unserem Fall ein Trainer) dieser soll jetzt die Rechte bekommen IHR eigenes Geburtsdatum zugcken(SELECT) und ihr eigenes TrTarifID, sowie von "Tabelle Tarif" Gehalt. DOCH der Benutzer B kann nur IHR eigenes sehen die von anderen Trainer sind weiterhin nicht einsehbar.

Wie kann ich sowas mit Grant lösen?

16.05.2013 - 09:34 Uhr

Hallo

Ich benutze SQL Server und komme bei einem Problem nicht weiter.

Ich habe eine Datenbank mit 4 Tabellen, im Dateianhang ist eine grobe Ansicht. Ich soll jetzt drei Benutzer unterschiedliche Grant befehle geben.
Benutzer A darf nur Lesen(Select), doch er darf nicht das Gehalt und das Gebursdatum von Trainer sehen.

Grant Select ON Table1,Ort,Trainer TO Benutzer A;

Jetzt ist meine Frage wie kann ich dazu schreiben, dass er zwar den TrName sehen kann, aber nicht TrGeburstag und TrTarifID.

Ich hoffe ihr versteht mein anliegen und könnt mir helfen.

Lg

17.04.2013 - 11:28 Uhr

👍...WOW... 👍

Hut ab, nette/gute Anwendung, werde sie heute mal testen, ich weiß, dass ich etwas spät dran bin aber für das lernen ist man nie spät dran.

Ich werde mir zuhause nochmal alle sachen Downloaden, ich hoffe es befindet sich auch ein QuellCode zur verfügung und ich hoffe deine Anwendung läuft auch heute noch xD

Habe auch deine Post in Adressbuch weg nach Synchronisation mit Pocket PC auf thunderbird-mail.de gelesen.

HUT AB 👍 👍 👍 👍

17.04.2013 - 10:14 Uhr

Hallo
Danke zunächst an alle Antworten 😃

@Karill Endusa, an sowas habe ich auch gedacht, mit Tastatur-Ereignissen zu arbeiten.

@herbivore
das was tomthekid geschrieben hat, habe ich auch vorher gelesen 😃
Deine Links haben mir sehr geholfen DANKE

Ich habe auch ein Tool gefunden das eine ABook.mab datei selbst schreibt, doch das hat mir nicht weiter geholfen.

Aber ich bedanke mich herzlichst bei euch für die Tipps und die Anregungen.

Lg

17.04.2013 - 08:22 Uhr

Hallo Coder007,

Also ich weiß wo sich die ABook Datei befindet, es ist eine .mab (Mork-Datei),
ich weiß leider nicht wie ich so eine Ansprechen oder gar ändern könnte 😕

Ich kann aber mittels C#, Thunderbirds Adressbuch öffnen, dachte vllt. würde dies helfen, aber dann müsste man alles wieder Manuell eintragen/einfügen(sprich mit paus auswählen wo die CSV datei liegt etc.)
Ich weiß echt nicht weiter.

Aber ich habe schon gewusst, dass es keine API like Outlook gibt 😦 dachte wäre über umwege möglich. Aber nunja...

Wenn irgendwer noch irgendwelche Ansätze hat einfach her damit.

Lg

16.04.2013 - 13:08 Uhr

Guten Tag...
Habe schon einiges im Internet durch geguckt, doch ich komme einfach nicht drauf 😕

Ich bin gerade dabei Kontakte mittels C# in Thunderbird einzufügen, doch ich komme einfach nicht weiter und hoffe jmd kann mir ein kleinen Denkanstoß geben.

Also ich habe eine CSV Datei, die ihre Daten mittels ';'(simikolon) trennt.
Habe im Thunderbird Forum gelesen, dass sie so aufgebaut/getrennt werden seien sollen.

So nun möchte ich diese CSV Datei mittels C# in mein Thunderbird einbinden, nur weiß ich nicht wie ich das machen soll.

Ich hoffe ihr versteht mein Anliegen und könnt mir weiter helfen.

Schönen Tag noch 😃

Lg

08.02.2013 - 09:58 Uhr

@Abt:
Danke aber habe schon eine lösung gefunden -.-

man brauch dafür nicht unbedingt XML oder Open XML -.-

Es ging genau so wie ich es wollte ein Mergefield mit name ansprehen und danach umändern.

Muss nicht gleich so launisch werden -.- 🙄

und @ muhtantan
Danke für deine CodeSnippets 🙂 habe es auch so in der Art gelöst...
Danke an dich...daumenhoch 👍

LG

08.02.2013 - 08:50 Uhr

Hi,

Ich muss aber "Mergefield" machen statt " Mergefield", denn wenn ich das mit leerzeichen mache, kommt eine exception, und wenn ich das mit Mergefield mache kommt keine exception, passiert aber trotzdem nichts xD

Zudem mache ich das mit dem UPDATE() denn wenn ich das nicht mache zeigt er das Dokument so wie es ist. Das Dokument ist von beginn an mit beispielwerten gefüllt und wenn ich das mit UPDATE() mache kommt eine PDF Datei raus mit FELDER(z.B. <<Name>>) mache ich kein UPDATE() kommt die Word datei mit den Beispiel werten als PDF raus.

und den code verstehe ich zu 80%

Lg

ps.: Wo wäre den für dich Trimm() passender?

ps.: @ ABT. Bei Mergefields von Code Project muss man eine Open XML SDK downloaden, das möchte/will ich nicht !!!

07.02.2013 - 15:43 Uhr

hey @ Abt

Also den zweiten link habe ich bei mir soweit eingebaut:

Danach habe ich das von muhtanten hinzugefügt.

Zum abschluss speichere ich das ganze in PDF

Doch wenn ich das nun mache, speichert er zwar ein PDF-Dokument doch hier sind die Mergefields leer, also dort steht ">>Name<<" und so weiter.

weißt du vielleicht voran das liegt?

Lg

07.02.2013 - 14:56 Uhr

auf der seite war ich schon, mein englisch ist sehr schlecht -.-
und da wird mit XML gearbeitet, das möchte/will ich nicht.

Danke für den link^^

lg

07.02.2013 - 14:02 Uhr

Moin Gogeta,

Felder werden, wenn ich mich recht entsinne nicht automatisch aktualisiert. Versuch mal nach dem setzen des Textes

ActiveDocument.Fields.Update()  

Ahh Okay, werde ich machen 😃

doch wie kann ich den die einzelnen Mergefields ansprechen?

@Abt:
Also ich habe schon die namen der Mergefields, ich würde es dann mit Textboxen füllen lassen.

z.B. name_txt.text = mergefields name

Aber ich weiß halt nicht wie ich das realisieren kann.

Dennoch danke für die Tipps.

Habe hier im Forum gelesen, dass man Mergefields nicht mit der Hand (mittels c#) füllen kann, nur über datenquellen(z.B. Datei: csv, word) stimmt das?

oder kann ich halt mergfields felder mittels textboxen füllen?

lg

07.02.2013 - 11:53 Uhr

Mal eine ganz andere frage, ist es möglich Mergefields anzusprechen?

Also ich habe gerade ein dok von kollegen bekommen und da sind Mergefields enthalten...
z.B.

{MERGEFIELDS NAME}

Und wie kann ich diese Mergefields ansprechen?

Habe das wie gehabt mit bookmarks code versucht, doch damit klappt es nicht.
Im internet habe ich immer nur schleifen-konstrukte zu diesem thema gesehen, doch ich brauche keine Schleife, da mir alle mergefields bekannt sind und ich die nur noch direkt ändern will.

Weiß jmd wie das möglich ist.

Lg

07.02.2013 - 10:44 Uhr

Hi

Was meinst du mit code?
Dort ist nur sowas:

{REF name}

und ja das feld bleibt leer wenn ich es speichere.
und beim wieder öffnen, ist das Ref-Feld nicht mehr definiert !

Lg

07.02.2013 - 09:43 Uhr

Hi...

Also an meinem c#-code liegt es nicht, sons würde ich eine Fehlermeldung bekommen.

Es ist so ich habe ein Word dokument mit einer Textmarke ("name" ≤ so heißt die Textmarke)

So, nun kann ich mit:


object name = "name" //name hießt sie im Dokument und im Code nenne ich sie auch name.
Word.Bookmark mark = myDoc.Bookmarks.get_Item(ref name);
mark.Range.Text = Name;

Die Textmarke wird nun mit dem Namen befüllt.
Bis jetzt alles gut.

Doch wenn ich in der Vorlage weiter unten mit einem REF-Feld auf die Textmarke verweisen will, übernimmt er anschließend beim speichern nicht das REF-Feld, er speichert zwar den neuen befüllt Text in die Textmarke, aber das REF-Feld bleibt leer. Warum ist das so?
Ich speichere die Vorlage als pdf.

Ich hoffe du(ihr) versteht mein Problem besser.

Lg

06.02.2013 - 08:54 Uhr

Hallo,

ich weiß nicht mehr weiter.

Ich habe eine Word 2007 Vorlage, dort sind ein Textmarke und ein ref-Feld enthalten.

Diese möchte ich nun mit c# einlesen, ist kein problem!

Ich kann auch mittels bookmarks auf die Textmarke zugreifen,also sie verändern.Und wenn ich dann das Dokument speichere ist das Textfeld befüllt.

Doch ich habe an einer anderen stelle des Dokumentes ein REF-Feld auf die Textmarke verwiesen, doch irgendwie füllt er dort nichts ein.

Voran kann das liegen?

Ich benutze ein .dotx vorlage und speichere sie als PDF ab.

Lg

19.09.2012 - 13:04 Uhr

Okay.. Dankeschön 😃

ich habe das schon herraus gefunden, dass ich das **NICHT **benutzen kann, aber mein Chef hat mir gesagt, dass es auf **JEDENFALL **eine möglichkeit gibt, diese Datensätze in Visual Studio zu verwenden.

ich google schon seit mindestens einer woche, doch finde nichts.

und da könnt ihr eure Comments wie :

"Das ist nicht das Problem. Das Problem ist, dass du nichts dagegen tust."

und:

"Du willst es scheinbar wirklich nicht verstehen."

ich würde ja nicht fragen, wenn mein Chef mir sagt, dass es eine Möglichkeit gibt.

ich habe sie nicht gefunden, dass gebe ich zu, doch ich dachte mir vielleicht hat jemand, mit sowas schonmal gearbeitet, dafür ist doch ein Forum da.

Naja ich wünsche euch einen schönen tag.

14.09.2012 - 16:15 Uhr

Und was findet man in den Dateien?
Sagt es mir, FZelle hat nur das geschickt/geschrieben, wenn ich die ttes.iqy in mein Visual Studio 2010 ziehe, kommt genau das selbe natürlich mit einer anderen url.
hier:


EditWebPage=
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False

Und was sagen mir jetzt diese werte?

ich habe garkeine ahnung...

14.09.2012 - 14:18 Uhr

und trotzdem gibt er die Datei mit excel wieder und nicht mit Word oder Notepad -.-

und ich dachte mir, wenn sich das mit excel öffnen lässt sich das ganze auch in c# verwirklichen.

naja also ist es nicht möglich eine datei mit der endung iqy in c# zu öffnen/bearbeiten oder anzeigen zu lassen?

Egal ob mit oleDb oder irgendwas anderes 😕

Lg

14.09.2012 - 12:37 Uhr

Ups Sorry, war ein Tippfehler

Doch wenn ich das korrigiere, kommt dieser Fehler

Installierbares ISAM nicht gefunden.

Dieser fehler kommt auch wenn ich ACE.OLEDB.12.0 einfüge 😕
Muss ich unbedingt was Installieren?

Und wie gesagt, habe keine rechte irgendwas zu installieren 😕

ist es sonst nicht möglich, durch irgendwelche tricks xD

lg

Edit: habe den Connection Str geändert:

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Default\Desktop\ttes.iqy;"

Dann war dieses ISAM problem weg, doch nun sagt er:

Nicht erkennbares Datenbankformat 'C:\Users\Default\Desktop\ttes.iqy'.

wie kann ich dieses problem entfernen?

brauch ich villeicht ein verweis???

14.09.2012 - 11:56 Uhr

Das habe ich schon getan, als .xlsx gespeichert, dann funktioniert alles super.

Aber ich soll halt diese Datei (ttes.iqy) benutzen, da es sich ja bei .iqy um eine Abfrage Datei handelt. Die wird immer aus dem Internet aktualisiert, also immer neue Datensätze werden hinzugefügt. Und wenn ich das als .xlsx datei speichere ist sie halt nicht mehr "aktuel" sie bleibt immer so wie ich sie gespeichert habe.

14.09.2012 - 11:23 Uhr

Okay.. Habe versucht dies zu realisieren...

... auf eine .iqy Datei zu Verbinden:


            OleDbConnection iqyConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Default\Desktop\ttes.iqy;Extended Properties=""Excel 12.0 Xml""");
            iqyConn.Open();   //hier kommt der fehler: Die externe Tabelle hat nicht das erwartete Format. ??...
            OleDbCommand olecmd = new OleDbCommand("SELECT * FROM [ttes$]", iqyConn);
            OleDbDataReader dreader = olecmd.ExecuteReader();
            DataTable test = new DataTable();
            test.Load(dreader);
            iqyConn.Close();

            dataGridView1.DataSource = test;

Danach habe ich ACE mit JET ausgetauscht, doch dann kommt der Fehler:

Der 'Microsoft.JET.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert.

an der selben Stelle, also beim Öffnen der Connection. Es kann gut angehen, dass kein Jet auf den PC Installiert ist, ich habe auch keine rechte etwas zu installieren :S

Ich möchte einfach die Datei öffnen und mit deren Inhalt speichern/anzeigen lassen, dachte es wäre einfach, da man die Datei ganz leicht mit Excel öffnen kann.

Also meine frage, was muss ich tun um die Datei ttes.iqy in C# zu öffnen?

12.09.2012 - 21:45 Uhr

Wenn du Software schreibst die im Professionellen Umfeld zu benutzen ist, solltest Du auch anfangen Professionell zu arbeiten.

Okay... Danke für den Tipp 😃

Ich versuche im rein zulesen, gehe aber zunächst durch die Stichpunkte von gfoidl, danach durch deine.

Könnt den Theard schließen (:

Komme schon zurecht... Danke bis hierhin....

12.09.2012 - 21:03 Uhr

Ein paar Stichworte mit denen du in die richtige Richtung kommen solltest: ADO.net, O/R-Mapper, Linq2Sql, Entity Framework, usw.

Ich lese mich mal in diese Stichpunkte.

Also ich möchte wenn es irgendwie möglich ist Datensätze in Variablen speichern, versuche es jetzt mit DataReader, aber komm nicht weiter ich lese mich in die Stichpunkte..

Für jeden weitere Hilfe bin ich dankbar.

12.09.2012 - 16:23 Uhr

verwendetes Datenbanksystem: SQL und lokal DB Ich denke es ist SQl Compact daten endung .sdf

Hi..

..eine frage an die Gemeinde 😃
Wie kann ich Datensätze aus einer Datenbank in einer variable speichern?
Also sagen wir die Werte aus einer Zeile.

Denn ich möchte die dazugehörigen spalten aus einer anderen Datenbank auch in Variablen speichern und später in meine lokale Datenbank zusammenführen.?

Und ich meiner Lokalek Datenbank sollen sie dann als komplette Zeile angezeigt werden.

Danke für das lesen... freue mich auf jede Hilfe.

12.09.2012 - 09:44 Uhr

verwendetes Datenbanksystem: SQL2008/ eine Excel Datei mit der Endung .iqy

Hallo

Ich habe ein problem, wo ich nicht mehr weiter komme...
Ich habe eine Excel-Datei mit der endung iqy, hatte nie was mit dieser Datenendung zutun, muss aber jetzt damit arbeiten. 😕

Ich weiß leider nicht wie der connectionString für diese Datei aussehen muss, ich denke an OleDb, oder was sagt ihr?

Dann wollte ich wissen ob ich diese Datei mit einer tabelle (aus SQL Datenbank) miteinander verknüpfen kann ? Ich denke ich kann ja beide tabellen (einmal die .iqy und die Datenbank tabelle) in EIN DataSet packen, aber in unterschiedlichen DataTables aufbewahren.
Würde sowas funktionieren?

Ich freue mich über jegliche Hilfe.

06.09.2012 - 08:28 Uhr

Also die XML wird so geschrieben:

temp_DT.TableName = "temp";
 temp_DT.WriteXml("datatable.xml", XmlWriteMode.WriteSchema);

Die temp_DT beinhalt 11 Spalten genau die selben wie in haupt_DT, auch der Typeof der spalten ist der selbe.

Also das mit den vergleichen habe ich hin bekommen danke (:

Habe aber noch eine frage, wie ist es möglich, dass ich ein DataTable Spalte mit einer SQl Datenbank Tabelle miteinander vergleichen kann?
Also deren ID spalte.

Ich möchte das das Datatable mit den Daten gefüllt wird und an ein dataGridView weiter gibt, in diesem dataGridView gibt es eine checkbox column, womit man auswählen darf welche Datensätze/Zeilen gespeichert werden. Nun soll das dataGridView merken welche Datensätze gespeichert wurden sind und diese ID zurück an das DataTable geben und er soll diese ID's nicht mehr von der datenbank holen, weil das DataTable nur die Datensätze anzeigen soll die noch nicht gespeichert wurden sind.

Hoffe versteht die frage (:

05.09.2012 - 11:08 Uhr

verwendetes Datenbanksystem: SQL 2008

Hallo..

Hier ist zu nächstmal die Code stelle:

 
private void button3_Click(object sender, EventArgs e)
{
// haupt_DT bezieht die daten aus DB, temp_DT hat die selben spalten wie haupt_DT
DataTable haupt_DT = tables.result_DT(a_table, b_table);
DataTable temp_DT = tables.temp_DT();

temp_DT.ReadXml("datatable.xml"); 

DataColumn[] primArray = new DataColumn[1];
primArray[0] = haupt_DT.Columns["ID"];            
haupt_DT.PrimaryKey = primArray;

DataColumn[] primArray1 = new DataColumn[1];
primArray1[0] = temp_DT.Columns["ID"];
temp_DT.PrimaryKey = primArray1;

if(haupt_DT.Columns["ID"] != temp_DT.Columns["ID"])
{
temp_DT.Merge(haupt_DT);  
}
else
{
MessageBox.Show("Nichts neues","Fehler");
}         
           
dataGridView1.DataSource = temp_DT;

temp_DT.TableName = "temp";
temp_DT.WriteXml("datatable.xml", XmlWriteMode.WriteSchema);
}

Also er soll zunächst mit Read XML die vorhandene Datatable füllen, doch das tut er nicht.. Obwohl die Datei datatable.xml vorhanden ist, sobald ich ein neues leeres DataTable benutzen, ohne vordefinierte Spalten, dann funktoniert auch das ReadXml.
Dann Soll er vergleichen ob es neue ID gibt und soll sie in temp_DT kopieren, das tut er auch, aber eigentlich müsste doch die Messagebox aufspringen wenn ich das programm neu starte, aber das tut es nicht.

Wo liegt das problem?

30.08.2012 - 14:24 Uhr

Nein habe ich nicht 😠

Schau ich mir mal an doch ich werde sicherlich nichts finden -.- xD

30.08.2012 - 12:30 Uhr

Soo...

ich habe mal bissl gearbeitet 😄

und dachte mir, dass dies etwas einfacher geht, wieso soll ich zwei dataset mit einander vergleichen wenn ich zwei Datatables vergleichen kann 😄

Das Vergleichen und füllen funktoniert mittels foreach oder??

So stelle ich mir das vor:


DT A

ID  Nname  Nummer
01  AB        123
02  AC        188
03  AD        48

DT B
ID  Nname  Nummer
01  AB        123
03  AD        48

Wie ihr seht besitzt DT B nicht alle Datensätze aus DT A, Es möchte ich vor der Foreach schleife wenn es möglich ist, soll er alle zunächst die ID der beiden DT vergleichen und die die neu sind sollen zu DT B hinzugefügt werden und in dieses DT B gespeichert werden sollen...

Hoffe nun könnt ihr mir helfen 😄

28.08.2012 - 14:12 Uhr

Ahh okay lese mich mal in serilazation von DataSet...

Ich definier meine zweite frage neu:
Ich hab ein query, dieses möchte ich in ein DataSet oder Datatable speichern!
Das query bezieht seine Daten von einem DataSet aus zwei DataTables.

nun wollte ich dieses query als eigenständige DataSet oder DataTable benutzen.
Um später per Buton-Klick dieses query(DataSet/DataTable) mit dem haupt DataSet zu vergleichen(weil dieses seine Daten ständig mit der Datenbank abgleicht), wenn vorhanden ist soll das query aktualisiert werden und diese daten, nach button-klick in die query aufnehmen.

hoffe verstehst es besser 😃

@FZelle: lese mich mal in die Funktionen (: und schaue mir mal gleich "Continuous Linq" und "Bindable Linq" an...

28.08.2012 - 11:44 Uhr

Hallo,

ich wollte mal fragen ob die ein DataSet als eigenständige Dtanebank benutzen kann?

Ich habe ein Query (Linq to DataSet) worin aus einem DataSet Datensätze mit einander gejoint und danach im datagridview angezeigt werden, nun wollte ich wissen ob ich diese Query(oder die ensprechende Datatable) immer im datagridview anzeigen lassen kann und nach button click soll die query(datatable) mit dem dataset abgeglichen werden(da das dataset ständig mit der db kommuniziert).

ist so etwas möglich?

habe unter Datentechnologie, ein Thema erstellt ("DataSet -> soll erst nach Buttonklick Aktualisieren? ") doch da wurde mr klar, dass ich das nicht machen kann da die Query als seperate anweisung fungiert, so dachte ich mir das ich vielleicht, das query per Button-Klick aktualisieren lassen kann?

Ich freue mich auf jegliche hilfe...

27.08.2012 - 12:41 Uhr

Hi KroaX,

ich habe zwei where klauseln, weil ich zwei DataTables(das eine datable besteht aus zwei tabellen, dass andere aus einer) in dem DataSet habe,
bei der einen where klausel halte ich fest welche datensätze relevant sind, bei dem zweiten datatable benutze ich die where-klausel um nur den notwendigen bereich zu bekommen(mit Like '7%%%%')

Bei dem einen DataTable sind schon zwei tabellen aus der Db mit einander verknüpft(mit einer innerjoin-anweisung, damit auch nur die Datensätze angezeigt werden die KEIN Null-Value haben)

und die beiden DataTable habe ich mittels LinQ to DataSet miteinander verknüpft(join), also momentan zeigt er auch nur datensätze an die eine passende gegenseite haben(keine null-values vorhanden).
jetzte möchte ich das, dass Dataset so bestehen bleibt, dass heißt auch wenn der mitarbeiter nächste woche was in die Datenbak schreibt, soll er in meiner Anwendung diesen Stand mir anzeigen(auch wenn sie veraltet ist)... und wenn ich auf Button klick soll das Dataset mit der DB abgeglichen werden und die neuen datensätze anzeigen und gleichzeitig in das Dataset speichern.

Edit: ich probier das mal mit dieser List<int>...

Edit: jetzt wo ich mal kurz überlege geht das garnicht ODER ???

dataGridView1.DataSource = join_wss_ap.ToList();

denn sobald ich LINQ to DataSet benutze, ist es ja keine seperate DS mehr Oder ?

27.08.2012 - 12:19 Uhr

Hi MrSparkle,

ja es ist eine Datenbankanwendung, ich hole Daten und Konvertiere sie in CSV Datein um. In der Anwendung kann man keine Datensätze anlegen und ich habe keine Möglichkeit in die Datenbank, Datensätze anzulegen.

Es befinden sich schon Datensätze auf der DB doch sie beinhalten Null-Values, diese werden in den nächsten tagen von einen Mitarbeiter aufgefüllt, direkt in die Datenbank mittels SQL 2008, und meine Anwendung soll diese Datensätze anzeigen und Konvertieren können, was er schon kann.
Und bei "button-klick" soll kurz abgeglichen werden ob es neue Datnsätze gibt die es in der Dataset nicht gibt. Danach aktualisiert er die DS und in der DS befinden sich neue Datensätze.
Die DS soll sozusagen als eigenständige (Lokale)DB fungieren, bei jedem start soll er diese Dataset benutztund erst nach klick aktualisieren...

Hoffe hast mich nun verstanden 😃

Wenn ich das mit einer Select * From anweisung mache, sind jedesmal schon die neuen Datensätze drauf, das will ich aber nicht, er soll immer den letzten stand anzeigen und nur bei Aktualisierungsklick, Aktualisieren.

momentan lese ich mich auch in Serialization, doch ich weiß bis jetzt nicht wie mir das weiter helfen soll 😦

27.08.2012 - 11:53 Uhr

Was spricht denn dagegen, die Daten direkt in der Datenbank zu speichern?

weil die daten auf der Datenbank schon sind und sie werden dort immer aktualisiert,verändert gelöscht.

und mit dem button klick soll er ein abgleich machen und das in das DataSet speichern.

@Diräkt:
Du hast recht mit Increment ID als PK, doch es sind schon einige Datensätze in der Datenbank vorhanden die auch eine größere ID als meine bestehenden im DataSet haben, doch die weißen noch "Null-Wert" auf und die werden demnächst in die Datenbank geschrieben.

und nur mal am rande ich habe auf diese Datenbank nur Leserechte,keine Schreibe,lösch-Rechte 😦

Deswegen muss ich das so kompliziert machen.
Vorhandenes DataSet -> abgleich DB -> neue datensätze spechern(neues DS)
und immer so weiter...

habe mir gedacht mit einer update anweisung zu arbeiten, aber weiß nicht wie ich vorgen soll...?

27.08.2012 - 10:14 Uhr

verwendetes Datenbanksystem: SQL2008

Hi @ all
ich weiß nicht ob dieses Thema hier oder in das Forum "Windows Forms" rein muss !?

So kommen wir zu meiner frage, Problemstellung.

Also ich habe ein DataSet mit zwei DataTables die Daten aus einer SQL-Datenbank beziehen.

Es möchte ich wenn dies Möglich ist, was ich aber glaube, aber nicht weiß wie ich vorgehen soll 😦

Beim Form start soll das DataSet mit den Datensätzen im DataGridView anzeigen(kein problem, schon gemeister), doch sobald ich auf ein "Button - Aktualisieren" klicke soll er kurz ein abgleich mit der Datenbank machen und sobald neue Datensätze verfügbar sind, diese (neuen Datensätze) im DataSet speicher(und im datagridview anzeigen) und wenn ich das Programm schließe sollen die zuletzt geladenen Datensätze im DataSet gespeichert werden und beim nächsten Form start sollen sie mit drinne sein.
Und sobald ich wieder auf "Aktualisieren" Klicke, soll das ganze schema von vorne gestartet werden.

Ich hoffe ihr versteht was ich erreichen will.
Also bis jetzt schaffe ich es ALLE datensätze anzuzeigen, doch wie schaffe ich es, dass das proggy merkt welche Datensätze neu sind ???

Würde mich über jegliche antworten freuen 😃

24.08.2012 - 16:21 Uhr

Danke Mr Mango,

doch ich habe das Problem schon gelöst 😃

Danke für jegliche Hilfestellungen 😃

Kann Closed werden 😄

23.08.2012 - 15:50 Uhr

habe ich mir schon gedacht...
Die Anweisung die du gegebn hast ist für SQL, hast du auch eine für Visual C#, habe vergessen, dies im Startbeitrag einzufügen 😭 8o

Also ich möchte eine datarelation in visual c# machen.

und wenn ich das mache kommt immer:> Fehlermeldung:

'column'-Argument darf nicht null sein.
Parametername: column.

🙁

EDIT:
Das problem wurde gelöst...
Danke jeglicher Hilfe

Kann geclosed werden 😁

23.08.2012 - 15:01 Uhr

verwendetes Datenbanksystem: SQL 2008

Hallo...
ich möchte eine DataRealation erstellen, doch hier müssen beide spalten vom gleichen typ sein, daher meine frage:
Darf ich nvarchar(10) und nvarchar(255) in eine Relation setzen?

oder ist das unzulässig ?

Und wenn das unzulässig ist wie kann ich sie trotzdem zu einer Relation setzen?

21.08.2012 - 13:59 Uhr

okay danke...

warum gibt es dann join -.-

gibt ein anderen weg?

wenn nicht kann das Thema geshclossen werden !

@TH69
THX für die Antwort 😃

EDIT: 21.08
Könnte man villeicht die Join Anweisung rausholen und dafür eine Where Anweisung benutzen?

Könnte ich dann bei FROM Anweisung auch zwei verschiedene Datatables angeben?

++EDIT2: ++ 22.08
Habe es hinbekommen 😄
Habe statt .AsDataView einfach .ToList() gemacht und am code ein wenig verändert und schon ging es 😄

Das einzige problem, was jetzt noch ist, er zeigt mir nicht alle Datensätze an?
Weiß dort jmd weiter?

EDIT3: 24.08
kann geclosed werden 😄

21.08.2012 - 12:38 Uhr

verwendetes Datenbanksystem: SQL 2008

Hallo...

Ich habe schon wieder ein Problem, wo ich nicht weiter komme 😕

Ich Arbeite jetzt mit Linq to DataSet, doch ich schaffe es nicht das ergebniss im DataGridview anzuzeigen.

mein Code:


DataSet result = new DataSet();       
a_dataAdapter.Fill(result, "a");
b_dataAdapter.Fill(result, "b");
DataTable a_DT = result.Tables[0];
DataTable b_DT = result.Tables[1];

var innerjoin = from a in a_DT.AsEnumerable()
                      join b in b_DT.AsEnumerable() on w.Field<int>("nvarchar15") equals a.Field<int>("Nummer")
                      select new
                            {                           
                                nummer = a.Field<int>("nvarchar15"),
                                name = b.Field<string>("Name"),
                                Leitzahl = b.Field<int>("zahl"),
                                Nummer = b.Field<int>("Nummer"),
                            };

dataGridView1.DataSource = innerjoin.AsDataView();

Mein Kompilier zeigt zwei fehler an: > Fehlermeldung:

Fehler1."System.Collections.Generic.IEnumerable<AnonymousType#1>" enthält keine Definition für "AsDataView", und die Überladung der optimalen Erweiterungsmethode "System.Data.DataTableExtensions.AsDataView(System.Data.DataTable)" weist einige ungültige Argumente auf.
Fehler2. Instanzenargument: Konvertierung von "System.Collections.Generic.IEnumerable<AnonymousType#1>" in "System.Data.DataTable" ist nicht möglich.

Ich habe zudem diese Verweise hinzugefügt:
-System.Data.DataSetExtensions
-System.Data.linq

Ja das wars, ich ahbe schon alles ausprobiert, habe das ++AsDataView()++mit ToList() ausgetaucht, funktioniert nicht... 😦

Hoffe jmd kann mir helfen 😃

20.08.2012 - 11:18 Uhr

Aha.. Sieht ganz gut aus benutze ich mal 😄
DANKE SEHR

Ja ich möchte gerne eine Datenrelation erstellen, doch weiß ich nicht wie ich das anstellen soll, denn in dem einen DataTable kommt schon eine Tabelle aus der Datenbank, wo eine relation schon drinne ist, die habe ich einfach mit einer SQL-Anweisung gemacht, dass geht auch soweit.

Doch weiß ich nicht wie ich die beiden Datatables zu einander gleich setzen kann (Relation, ist natürlich gemeint) ?

Hoffe verstehts mein Problem 😃

20.08.2012 - 10:33 Uhr

Wie ?
ich verstehe leider deine vorgehensweise nicht. 😦


SqlConnection con1 = new SqlConnection(conStr1);
SqlDataAdapter adapter_Kunden = new SqlDataAdapter("Select KundenNr,KundenName,KundenAnschrift FROM User", con1);

SqlConnection con2 = new SqlConnection(conStr2);
SqlDataAdapter adapter_Bank = new SqlDataAdapter("Select BankName,bankNummer,Betrag FROM Daten", con2);

DataSet set = new DataSet();

adapter_Kunden.Fill(set); //hier noch eine frage nebenbei, muss ich immer hier
                                     //nach set, denn Namen der Tabelle angeben?
adapter_bank.Fill(set);

dataGridView1.DataSource = set;

So will ich das haben, er soll mir im datagridview beide tabellen anzeigen lassen, an dieser stelle sei erwähnt, das conStr1 und conStr2 zwei verschiedene sind, weil ich zwei verschiedene Tabellen will.

Doch wenn ich diesen Code Kompiliere zeigt er mir im dataGridView nichts an NUR wenn ich den Code so ändere:


dataGridView1.DataSource = set[B].Table["hier kommt dann der Name rein denn ich der tabelle geben, deswegen auch meine frage oben."];

So zeigt er mir das an 😕

Hoff versteht was ich meine.

20.08.2012 - 09:29 Uhr

Hallo...
Da mein erstes Thema zu keinem resultat geführt hat, habe ich nun ein neue vorgehensweise:)
Ich benutze SQL 2008...
Ich möchte nun zwei verschiedene tabellen aus der Datenbak in ein DataSet packen, wie ist das möglich???

Ich weiß das ich dafür ein DataAdapter brache 😉
Doch meine frage ist wenn ich zwei verschiedene ConnectinStrings habe benötige ich auch zwei verschiedene DataAdapter, wegen der Fülloption 😃

Doch wie schaffe ich es das zwei DataAdapter nur ein DataSet füllen und in diesem DataSet sollen sie nicht in zwei tabellen untergebracht werden sondern in einer, ich weiß auch das ich eine DataRelation brauche, weiß aber nicht so richtig wie ich das hinbekomme 😕

ich hoffe ihr könnt mir helfen 😃

17.08.2012 - 15:28 Uhr

So...

Also das wie ich es vorher haben wollte ging es ja nicht 😦

aber jetzt ahbe ich ein zweiten ansatz 😃
Besser gesagt wurde mir von einem Kollegen vorgeschlagen 😄

Also ich soll ein Array erstellen und dort die Spalten? Oder Werte?
(keine Ahnung was ich rein schreiben soll) hinzufügen.

Also genau hatte er gesagt :" ...benutze doch ein array mit Variablen, und in diese variablen kommen die ensprechenden daten rein..."

So und nun weiß ich nicht wie ich das anstellen soll 😕
habe schon alles weg gegoogte, viele der user schlagen auf diese vorrangehensweise, dass DataTable vor, doch das brauche ich nicht 😦

Könnt ihr mir villeicht helfen?

Oder kann ich ausgewählte spalten aus verschiedenen Tabellen in ein DataSet packen ?

15.08.2012 - 13:36 Uhr

Kann Ich leider nicht, da ich leider keine Rechte auf der Datenbank habe.
Ich habe nur Leserechte.

Habe sie in Datatables gesteckt, weiß aber nicht wie ich die beiden DataTables mit einerander vereinen soll, denn ich müsste bei den dTables auch eine SQL-Anweisung machen :'(

Ich glaub das was ich will geht gar nicht !?

15.08.2012 - 11:15 Uhr

Klar, du kannst in deiner Abfrage z.B. folgendemaßen auf verschiedene Datenbanken zugreifen:

  
SELECT d1.wert1,  
       d1.wert2,  
       d2.wert1  
  
FROM Daten AS d1  
  
     INNER JOIN [Datenbank].dbo.Zahlungen AS d2 ON d2.Kunde = d1.ID  
  
  

Wichtig ist, du musst die 2. Datenbank folgendmaßen ansprechen: [Datenbank].dbo.Tabelle

Funktoniert nicht 😦

Dieser Fehler taucht auf: "Ein Sortierungskonflikt zwischen > Fehlermeldung:

'SQL_Latin1_General_CP1_CI_AS' und 'Latin1_General_CI_AS_KS_WS' im equal to-Vorgang kann nicht aufgelöst werden."

So sieht mein SQl anweisung aus( im SQL managment Studio, probiere hier die Anweisung aus und gebe sie dann in C# ein):


SELECT 
u.nvarchar15
,u.nvarchar10
,u.nvarchar12
,u.variante1
,a.TRI
,b.Nummer
,b.Zahl
FROM [DatenbankW].dbo.Data AS u[U](das ist eine sicht)[/U] INNER JOIN [DatenbankA].dbo.Add AS a ON u.nvarchar15 = a.TRI
INNER JOIN [ApDaten].dbo.Bank AS b ON a.OPUID= b.OPUID

So hoffe versteht jetzt mein Problem besser.

Kann man villeicht zwei DataTables in ein DataSet oder Datatable packen???

15.08.2012 - 09:03 Uhr

Hab ich mir schon gedacht -.-

kann ich dann zwei DataTables mit ein ander verbinden?
also in Datatable 1 befinden sich tabelle xy und ab(schon in der inner join fassung)

und in DataTable 2 befindet sich die sicht cd

Würde sowas funktonieren?

15.08.2012 - 08:55 Uhr

Es funktoniert nicht mit einer Verbindungszeichenfolge!

SQLCON1=DataSource=SQL; Initial Catalog=Daten; trusted_Connection=yes;
SQLCON2=DataSource=SQL; Initial Catalog=Zahlungen; trusted_Connection=yes;

Um auf tabelle xy,ab zugreifen zu können benutze ich CON1 und um die Sicht zu bekommen benutze ich CON2...

und die spalten die zu einander gehören, haben auch andere namen.