Laden...

Forenbeiträge von baer999 Ingesamt 375 Beiträge

26.10.2014 - 13:30 Uhr

mySQL

Hallo, ich habe zwei Tabellen, die ich miteinander per SQL verknüpfe (Triggers und Triggers_Done).
Triggers ist die Kopftabelle mit ID verknüpft mit Triggers_Done (Trigger_ID).

Ich möchte nun alle Zeilen der Tabelle Triggers zurückgeliefert bekommen,
die KEINEN Eintrag mit einem Usernamen X in der Tabelle Triggers_Done haben.

Habe bisher das hier zusammengebastelt:

select t.*, d.* from triggers as t
left join
trigger_done d on t.OID = d.Trigger_ID
where d.Username = "123" AND d.Trigger_ID is null

Wenn ich nicht nafch d.Username eingrenze liefert mir das Statement tatsächlich alle Zeilen zurück, die sich nicht in Triggers_Done befinden - aber wie kann ich da zusätzlich nach dem Usernamen eingrenzen, da stehe ich irgendwie im Wald...

Danke !!!

11.10.2014 - 12:25 Uhr

Da bin ich ja am rumsuchen, aber finde leider nichts - es geht meist um Directions / JSON oder direkte Einbindung in Apps - ich will jedoch nur den Browser HTTP Aufruf und kann da nichts finden in den APIs wie ich denn die Wegpunkte korrekt angebe...

11.10.2014 - 12:19 Uhr

Ich möchte ein Start eine Zieladresse und mehere Zwischenschritte / Wegpunkte übermitteln.

Das Ganze per HTTP Browser Aufruf.

Kann mir jemand helfen, wie ich den HTTP String aufbauen muss?

Danke!!!

02.10.2014 - 19:11 Uhr

Ich habe hier meinen Request in einer Methode verpackt, er funktioniert auch (wird minütlich ausgeführt!).

Leider bekomme ich ab und an folgenden Fehler und wei nicht, was die Ursache sein könnte?
Vielleicht kann man hier jemand einen Hinweis geben, was in solchen FÄllen die Fehlerursache sein könnte und wie ich sie behandeln könnte?!
Evtl. könnt ihr mir sagen, was ich da wie tracen soll, um der Sache auf die Spur zu kommen.

Danke !!!

P.S.: Problem ist ich kann nicht debuggen, da es in einem Dienst im Hintergrund ausgeführt wird...

Fehler:
Method : HttpSOAPRequest
DateTime : 30.09.2014 15:37:43
Computer : ASUSBOOK
Error : Error Occurred in AuditAdapter.getXMLDocumentFromXMLTemplate()

        public string HttpSOAPRequest(string xmlfile, string proxy, myFunctions Functions) {

            XmlDocument doc = new XmlDocument() { InnerXml = xmlfile };

            try {                

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(EndPoint);
                req.Timeout = 100000000;
                if (proxy != null) {
                    req.Proxy = new WebProxy(proxy, true);
                }
                req.Headers.Add("SOAPAction", "");
                req.ContentType = "application/soap+xml;charset=\"utf-8\"";
                req.Accept = "application/x-www-form-urlencoded";
                req.Method = "POST";

                using (var sRequest = req.GetRequestStream()) {
                    doc.Save(sRequest);
                }

                using (var sResponse = req.GetResponse().GetResponseStream()) {
                    using (var sReader = new StreamReader(sResponse)) {
                        return sReader.ReadToEnd();                   
                    }                
                }

                
            } catch (Exception ex) {
                Functions.WriteEventLog(0, "FEHLER: " + ex.Message);
                Functions.WriteErrorLog(ex);
                throw new Exception("Error Occurred in AuditAdapter.getXMLDocumentFromXMLTemplate() = " + doc.ToString(), ex);
            }
        }
18.08.2014 - 22:25 Uhr

@gfoidl: Danke, klasse Links damit komme ich weiter!

@Taipi88: Sehr guter Hinweis, ich werde ein DeleteFlag für den Kunden einführen, damit nichts physisch gelöscht wird.
Ja es gibt auch Rechnungen u.ä. allerdings kommen Kunden über eine Schnittstelle und bei Tippfehlern (Online Formular) können Kunden doppelt und dreifach drin stehen, sollen aber zu einem Mandanten verschmolzen werden!

18.08.2014 - 16:32 Uhr

MySQL in Verwendung mit Devexpress XPO.

Ich möchte in meiner Kundendatenbank Duplikate ausfindig machen, damit der Anwender ggfs. mehrere Kundendatensätze zu einem verschmelzen lassen kann.

  1. Ich lade alle Kunden der Datenbank, es gibt eine Spalte GROUPING (int)

  2. Ich lese Kunden für Kunden und prüfe auf Ähnliche Datensätze, findet ich ähnliche wird das GROUPING gesetzt und um 1 hochgezählt (für die nächsten Duplikate).

  3. Am Ende gebe ich die Liste gruppiert nach GROUPING aus und habe eine schöne Tabelle, bei der der Anwender nun selektieren kann ob und falls ja, welchen Kunden er als MASTER zur Verschmelzung heranziehen will.

PROBLEM:

Punkt 2: Wie kann ich eine Ähnlichkeitssuche machen, möglichst in XPO oder LINQ, notfalls auch selbst in einer Schleife.

Ich will nicht einfach "IF x.FIRSTNAME = y.FIRSTNAME" prüfen, sondern auch Abweichungen zulassen (z.B. darf ein Buchstabe abweichen und es soll trotzdem noch TRUE zurückgegeben werden).

Hier habe ich mein Problem, wie ich das umsetzen kann, muss ich das selbst schreiben oder gibt es da etwas im Standard was ich verwenden könnte?

Thx !

14.08.2014 - 21:01 Uhr

Hallo,

ich will nun von meinem Dienst aus ins System Log loggen und dieses aber auch einfach und schnell auswerten können.

Bisher habe ich versucht per

EventLog.CreateEventSource(new EventSourceCreationData("xxx", "yyy"));

ein eigenes Log zu erzeugen, jedoch geht das scheinbar nur als **Admin **und wird erst nach **Reboot **aktiv ?! Ist das richtig?

Insofern dachte ich, besser direkt ins APPLICATION Log zu schreiben, jedoch will ich hierbei wissen, wie ich dann auch NUR die Einträge meines Dienstes auswerten kann?!

Bisher lese ich einfach alle Einträge per:

            // -- Zugriff auf das Ereignisprotokoll
            EventLog log = new EventLog("xxx", "yyy");

            // Schleife über alle Einträge
            foreach (EventLogEntry eintrag in log.Entries) {
                }

thx

12.08.2014 - 00:08 Uhr

Alles klar, ich habe mich nun doch für das System Log entschieden.

Danke!

12.08.2014 - 00:08 Uhr

Habe hier allerdings noch Probleme beim installieren eines eigenen Log's.
Und zwar mache ich das vom dem Service Installer (Klasse zur Installation meines Services) aus:

    [RunInstaller(true)]
    public class myServiceInstaller : Installer {
        private ServiceInstaller xxxService;
        private ServiceProcessInstaller ServiceInstaller;

        public myServiceInstaller() {

            if (EventLog.SourceExists("xxx", System.Environment.MachineName)) {
                try {
                    String LogSourceName = EventLog.LogNameFromSourceName("xxx", System.Environment.MachineName);
                    EventLog.DeleteEventSource("xxx", System.Environment.MachineName);
                    EventLog.Delete(LogSourceName, System.Environment.MachineName);
                } catch { }
            }

            if (!(EventLog.SourceExists("xxx", System.Environment.MachineName)))
                try {
                    EventLog.CreateEventSource(new EventSourceCreationData("xxx", "xxx"));
                } catch { }

            YouOrderService = new ServiceInstaller();
            ServiceInstaller = new ServiceProcessInstaller();

            ServiceInstaller.Account = ServiceAccount.LocalService;
            ServiceInstaller.Username = null;
            ServiceInstaller.Password = null;

            xxxService.ServiceName = "xxx";
            xxxService.Description = "xxx";
            xxxService.StartType = ServiceStartMode.Automatic;

            Installers.Add(xxxService);
            Installers.Add(ServiceInstaller);
        }

In der Kommandozeile bekomme ich nun folgenden Fehler:

Fehlermeldung:
Die Quelle xxx ist bereits auf dem lokalen Computer vorhanden.

Allerdings ist dieses Log noch nicht in der Computerverwaltung zu sehen und ich versuche es ja auch zu löschen?!

kann jemand helfen?

11.08.2014 - 20:37 Uhr

Ich habe mir das mal durchgelesen, also sowohl DB Logging entfällt für mich also auch das SystemLog, da ich dutzende Einträge pro Minute schreibe würde dies alles zumüllen...

Gibt es keine Möglichkeit einen übergeordneten Ordner außerhalb von System32 zu verwenden per SpecialFolder?

11.08.2014 - 20:18 Uhr

Ich habe einen Dienst geschrieben und will diesen unter

Account = LocalService

ausführen.
Wenn ich nun meine Log Dateien wegschreibe in folgenden Ordnerpfad:

public String ServiceLogPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Service\Log\";

Legt der Service die Log Dateien in System32 Pfaden ab, auf die ich nicht mehr richtig zugreifen kann...

Welchen SpecialFolder könnt ihr mir empfehlen, wenn ich die Log Dateien am liebsten in USERS o.ä. öffentlich zugänglichen Ordnerstrukturen unterbringen will?

Gibt es da einen brauchbaren SpecialFolder?

Danke!

13.07.2014 - 13:21 Uhr

Ich möchte von einer Homepage (GoogleMaps) die Distanz und Dauer einer Route auslesen, allerdings habe ich ein Problem mit dem HtmlAgilityPack, da die JavaScript Daten erst verspätet ankommen.

Ich habe mich an das WebBrowser DocumentCompleted Event gehängt, bekomme aber eben nur die HTML Werte, bevor das JavaScript Update da ist:

        void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.Load(webBrowser.DocumentStream);

            var dauer = doc.DocumentNode.Descendants("span").Any(x => x.Id == "dauer");
            MessageBox.Show(doc.DocumentNode.Descendants("span").Where(x => x.Id == "dauer").FirstOrDefault().InnerHtml);
            MessageBox.Show(doc.DocumentNode.Descendants("span").Where(x => x.Id == "total").FirstOrDefault().InnerHtml);
        }

Kann mir jemand sagen, wie ich mir die JavaScript Daten abfangen kann?

Im Anhang befindet sich noch meine HTML / JavaScript Aufruf Datei:

            String s = new System.IO.StreamReader(Application.StartupPath + @"\GoogleMapsRouting.call").ReadToEnd();
            s = s.Replace("{0}", "Adresse1");
            s = s.Replace("{1}", "Adresse2");
            s = s.Replace("{2}", sLoc);
            
            webBrowser.DocumentText = s;
            webBrowser.DocumentCompleted += webBrowser_DocumentCompleted;
11.07.2014 - 15:04 Uhr

Ich muss im DataSet Designer die 6.7.4.0er Version verwenden, wobei ich nur die 6.6.6.0 referenziert habe... kann ich irgendwie dieses Requirement umschießen, damit ich mit deiner 6660er Version arbeiten kann? htx

Fehlermeldung:

Microsoft Visual Studio

Some updating commands could not be generated automatically. The database returned the following error:

[A]MySql.Data.MySqlClient.MySqlConnection cannot be cast to **MySql.Data.MySqlClient.MySqlConnection. Type A originates from 'MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\MySql.Data.dll'. Type B originates from 'MySql.Data, Version=6.6.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.6.6.0__c5687fc88969c44d\MySql.Data.dll'.[/error]

11.07.2014 - 13:36 Uhr

Jetzt habe ich es, danke!

11.07.2014 - 12:39 Uhr

Hallo,
ich möchte in meiner Anwendung einer Google Karte anzeigen lassen und habe hierzu ein WebBrowser Control hinzugefügt.

Leider wird dieses mit weißem Rand gezeigt, den ich gern weg hätte. Bisher war ich mit den Ansätzen bzgl. DocumentText o.ä. erfolglos:

        private void ShowMap(Location[] loc) {
            String sUrl = "http://maps.googleapis.com/maps/api/staticmap?center";

            for (int i = 0; i < loc.Length; i++) {
                if (i == 0)
                    sUrl += String.Format("{0}&zoom=10&size={1}x{2}&sensor=false&markers=color:{3}|label:{4}", new object[] { 
                        loc[0], webBrowser.Height, webBrowser.Width, "red", "X" });

                sUrl += loc[0];
            }

            webBrowser.Url = new Uri(sUrl); 
        }
  1. Wie könnte ich den Rand dort wegbekommen?

  2. Und ist es möglich ein "Dynamisches" Google Maps zu laden und anzuzeigen (Navigation, Mausscrollrad, etc.) ?

08.07.2014 - 09:23 Uhr

Habe es auch im Code behandelt indem ich über alle Ergebnisszeilen eine Schleife machte und jeweils die Telefonnummer per SQL dazugelesen habe und in die Spalte geschrieben / konkatiniert habe.

Allerdings war es mega langsam (mehrere 1000 Zeilen Ergebnis mit je einer Phone Abfrage...).

Was meint ihr sonst mit "im Code behandeln"?

Gibt es da performantere Lösungen?

08.07.2014 - 00:25 Uhr

Hallo,

ich habe eine SQL Server DB und möchte eine Tabelle Kunden mit Telefonnummern verknüpfen.
Im SELECT möchte ich als Resultat pro Kunde eine Zeile zurückbekommen + eine Spalte mit allen Telefonnummern (getrennt mit ENTER oder SEMICOLON).

Geht das, falls ja wie?

Hier mein bisheriges Statement:

SELECT DISTINCT 
                         customer.City, customer.Company, customer.Cus_ID, customer.Cus_Nr, customer.Email, customer.Firstname, customer.Lastname, 
                         customer.Postcode, customer.Street
FROM            customer INNER JOIN
                         phone ON customer.Cus_ID = phone.Cus_ID
WHERE        (phone.Prefix LIKE @Text) OR
                         (customer.Firstname LIKE @Text)

thx

03.07.2014 - 13:33 Uhr

Hallo,
ich habe den Wunsch in meiner Windows Anwendung eine Karte (per Google Maps oder Bing) einzublenden.
Dazu will ich das Devexpress WinForms Maps Control verwenden.

Auf der Karte möchte ich nun für eine Stadt, am liebsten für einzelne Stadtteile / Regionen Summen ausgeben.
Ich habe als Datenbasis Straßennamen und Hausnummern und möchte diese aggregieren zu einer Summe für eine bestimmte Region. Das Ganze möglichst so flexibel, dass ich nicht selbst diese Regionen definieren muss.

Hat jemand eine Idee, wie man das bewerkstelligen kann?

Nochmal in Kürze:

  1. Straßenname + Hausnummer
  2. Gruppiert / Summiert auf "Region" / "Stadtteil"
  3. Ausgabe in dieser "Region" auf Google Maps

Kann man das i-wie bewerkstelligen?

31.05.2014 - 13:38 Uhr

Super Tipps, vielen dank!

Ich habe nun eine Base62 implementiert, habe jedoch noch Probleme bei der Rückrechnung, sieht da jemand, wo ich den logischen Fehler drin habe?

Bsp. war:

ToBase62(311299) => XYi

ABER

FromBase62(XYi) => 230534

Quellcode:

        private string Base62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        public string ToBase62(Int64 i)
        {
            StringBuilder sb = new StringBuilder();  
            Int64 rest = i;

            while (rest / 62 != 0)
            {
                long index = rest % 62;
                sb.Append(Base62[(int)index]);

                rest = rest / 62;
            }

            return sb.ToString();
        }

        public Int64 FromBase62(String s)
        {
            char[] chrs = s.ToCharArray();
            int m = chrs.Length - 1;
            int n = 62;
            int x;
            int rtn = 0;

            foreach (char c in chrs)
            {
                x = Base62.IndexOf(c);

                rtn += x * (Convert.ToInt32(Math.Pow(n, m)));

                m--;
            }

            return rtn; 
        }

Danke !!!

31.05.2014 - 11:31 Uhr

Hallo,

ich möchte gern einen Hex Wert, wie bspw.:

BFEBFBFF000206A7

umwandeln (zwecks Komprimierung), dabei muss aber die Lesbarkeit gewährleistet sein (also keine ASCII Konvertierung, da hier Zeichen enthalten sind, die "nicht lesbar" sind).

Mir würde es reichen, wenn aus dem obigen 16-stelligen Bsp. nach der Umwandlung 10-12 Zeichen übrig bleiben würden.

Hat da jemand eine Idee?

Der Pool für die Zeichen soll alle Buchstaben und alle Zahlen beinhalten.

21.05.2014 - 19:49 Uhr

Ich verwende MySQL als Datenbank (Version 5.5).

Mein Problem ist folgendes:

Tabelle 1 => User (u.a. Feld: User_ID)
Tabelle 2 => Telefon (u.a. Feld: User_ID + TelNr)

IN meinem Programm möchte ich nun in einer DataGrid für jeden User eine Zeile anzeigen, jedoch soll in dieser Zeile - eine Zelle existieren, in welcher alle diesem User zugeordneten TelefonNummern ausgegeben werden (am Besten per CRLF getrennt).

Ist soetwas möglich, falls ja wie wäre ein möglicher Ansatz?
thx!

26.04.2014 - 11:53 Uhr

Hallo,

ich möchte Druckaufträge, die ich aus meiner Anwendung heraus erzeugt habe überwachen. Leider habe ich da bisher überhaupt keinen Ansatz, wie ich das bewerkstelligen kann.

Im Endeffekt hätte ich gerne eine Tabelle, die alle Druckaufträge listet und jeweil mit Status (wartet, gedruckt, abgebrochen, ...).

Wie könnte man derartiges umsetzen?

Thx!

13.04.2014 - 17:00 Uhr

Eine andere Idee wäre es, die Connection Komponenten ALLER verwendeten DataTables anzupassen, meint ihr, dass das vielleicht die einfacherere - wenn auch nicht elegantere - Lösunge wäre?

13.04.2014 - 16:43 Uhr

Danke für die Rückmeldungen!

Also eine Übergabe an das Typisierte DataSet scheint mir nicht möglich:

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
        private void InitConnection() {
            this._connection = new global::MySql.Data.MySqlClient.MySqlConnection();
            this._connection.ConnectionString = global::WindowsFormsApplication1.Properties.Settings.Default.youorder_errorConnectionString;
        }

Insofern muss es irgendwie über die Settings / App.config funktionieren, wobei ich da noch nicht auf des Rätsels Lösung gekommen bin...
Um den ConnectionString zu manipulieren habe ich folgendes CodeSnippet, funktioniert aber irgendwie leider trotzdem nicht...


            ModifyConnectionString("myDLL.Properties.Settings.DBConnectionString", myConnectionString());
[...]
        public static void ModifyConnectionString(String parameter, String ConnectionString)
        {
            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            config.ConnectionStrings.ConnectionStrings[parameter].ConnectionString = ConnectionString;
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection(config.ConnectionStrings.SectionInformation.Name);
            Properties.Settings.Default.Reload();
        }

Wie kann ich denn die Settings / App.config dann bei Runtime richtig modifizieren, wie macht ihr das?

13.04.2014 - 01:16 Uhr

In der DLL ist er in den Settings gespeichert:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
            providerName="MySql.Data.MySqlClient" />
        <add name="myDLL.Properties.Settings.DBConnectionString"
            connectionString="server=localhost;user id=root;password=123;database=muster_db"
            providerName="MySql.Data.MySqlClient" />
    </connectionStrings>
</configuration>

D.h. die müsste ich irgendwie von meiner Anwendung heraus manipulieren oder?
Geht das denn?

13.04.2014 - 00:59 Uhr

Also mein Hauptproblem liegt darin den ConnectionString für die Typsisierten Datasets selbst flexibel setzen zu können. Hat da jemand einen Lösungsansatz für mich?

Danke!

12.04.2014 - 17:09 Uhr

DB: MySql

Ich habe mir mit Visual Studio ein typisiertes DataSet erzeugt. Dabei wird automatisch der ConnectionString in "Properties.Settings.Default" abgelegt.

Mein Problem ist nun, dass dieses DataSet in einer Klassenbibliothek / DLL liegt und ich von meiner Anwendung darauf zugreife (um Daten zu laden).

Wie kann ich nun von meiner Anwendung den ConnectionString verändern, den die DLL verwendet?

Danke!

09.04.2014 - 17:35 Uhr

Ja da hast du natürlich recht, mein Problem ist, wie ich verhindern kann, dass mehrere Threads gleichzeitig suchen - ich will immer nur den letzten ausführen, die Anfrage davor soll geschlossen werden.

Grundsätzlich sollte es in etwa diese Logik sein:

void Start_Thread(Object objSender, EventArgs e)
{
   new Thread (Suche_Starten ).Start ();
}

void Suche_Starten (String text)
{

   this.Invoke ((Action)Fill_DataTable);
}

void Fill_DataTable (DataTable dt)
{
    this.dtSearch = dt;
}
09.04.2014 - 17:12 Uhr

Ich habe in meiner Anwendung eine Textbox, wenn hier TextChanged stattfindet wird eine DB Suche gestartet und unterhalb der Textbox wird eine DataTable eingeblendet mit den Suchtreffern.

Das Ganze soll das Schreiben in der Textbox jetzt aber nicht behindern (tut es zur zeit, da in mehreren Tabellen mit einigen Hunderten / Tausenden Einträgen gesucht wird).

Wie kann ich das am Besten auslagern, also jeder TextChanged startet quasi die Suchfunktion in einem extra Thread, wobei laufende Suchen von der neusten "überschrieben" werden sollen?!

Bei Suchergebnis will ich per Event dann die DataTable anzeigen / updaten.

Ist das umsetzbar?

Danke!

09.04.2014 - 17:08 Uhr

Ich habe eine Hauptklasse, welche ich an neu erzeugte andere Klasse übergebe (im Konstruktor)

objClass2 = new Class2 (objClass1);

D.h. doch, dass in Class2 die übergebene objClass1 als Wert tatsächlich im Speicher angelegt wird, wenn ich das richtig verstanden habe?

Wie kann ich in Class2 implementieren, dass nur der Verweis auf objClass1 existiert, damit ich hier Speicher einsparen und (vielleicht?) Performance verbessern kann?

Danke!

09.04.2014 - 17:04 Uhr

Hallo, ich verwende MariaDB und möchte eine Anwendung entwickeln, die mehrere Clients zulassen soll.

Mein Problem:

Client 1 legt einen Kunden an,

Client 2 läuft parallel und arbeitet mit internen Tabellen (gefüllt beim Programmstart).
Er kennt jetzt natürlich den neuen Kunden nicht.

Jetzt stellt sich mir die Frage, was am besten ist v.a. Gleichgewicht von Speicherverbrauch und Performance:

Ein DataSet komplett befüllen (mit ein paar Dutzend MegaByte an Daten)
ODER
eine Just-In-Time Befüllung (bspw. bei Anzeige Kundenliste) per TableAdapter.Fill() Methode?!

Die Daten sollen natürlich immer aktuell angezeigt werden, d.h. doch auch, dass ich sowieso einen Fill - auch auf meine beständige DataTable machen müsste bei Aufruf der Kundenliste, insofern frage ich mich, warum ich dann die ganze Zeit die Kunden in der Tabelle geladen haben soll und ob dieser Update / Fill nicht in etwas so lange braucht, wie der komplette Fill von einer temp. DataTable innerhalb der KundenListen Klasse ?!

Ich hoffe ihr versteht was ich sagen will und könnt mir Hinweise mit auf den Weg geben!

Danke!

23.03.2014 - 19:11 Uhr

Im spzeziellen geht es um diesen Aufruf:

$client = new SoapClient(
    null,
    array(
        'location' => 'http://testdomain.de/?event=soap&module=default',
        'uri'  => 'urn:api',
        'style'  => SOAP_RPC,
        'use'  => SOAP_ENCODED,
        'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
        'trace' => 1
    )
23.03.2014 - 17:53 Uhr

Mein Problem ist, dass ich nicht weiß, wie ich das in C# darstellen kann.

Meine Suchen sind bisher nicht erfolgreich gewesen diesbezüglich.

Ich denke das problematische ist u.a. dass keine WSDL vorhanden ist. Es wird ja in PHP ein SoapClient erzeugt mit dem 1. Parameter NULL => keine WSDL ?!

Was ich will, ist diesen PHP Aufruf in C# darstellen. Ist das überhaupt möglich?

23.03.2014 - 16:33 Uhr

Hallo,
ich möchte von C# aus einen Aufruf starten, wie folgenden (aus PHP Skript):


$client = new SoapClient(
    null,
    array(
        'location' => 'http://testdomain.de/?event=soap&module=default',
        'uri'  => 'urn:api',
        'style'  => SOAP_RPC,
        'use'  => SOAP_ENCODED,
        'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
        'trace' => 1
    )
);
if (!$client)
    die('Soap Verbindung fehlgeschlagen');
try
{
    $params = array(
        'f_user' => 'user',
        'f_password' => 'userpass',
        'class' => 'test',
        'method' => 'test',
        'teststring' => 'Mein Text - Hallo Welt!'
    );

    $result = $client->xcall($params);
    $params = array(
        'class' => 'deviceManagement',
        'method' => 'rpcReboot'
    );
    
    $result = $client->xcall($params);
}
catch (Exception $e)
{
    echo $e->getMessage() . '<br />';
    echo $client->__getLastResponse();
}

Kann mir jemand helfen, wie ich das in C# umsetzen kann?
thx

21.03.2014 - 10:54 Uhr

Ich wollte mal fragen, ob es bzgl. Performance besser ist,

  1. die Datenbankverbindung (in meinem Fall zu MySql) stetig aufrecht zu erhalten (Connection.Open()) oder
  2. die Datenbankverbindung vor jedem Update / Command.ExecuteQuery zu öffnen und im Nachhinein wieder zu schließen

Danke schonmal!

18.03.2014 - 10:36 Uhr

Hallo,

ich habe einen Epson TM T-20, den ich per C# ansteuern will.

Da meine Anwendung auf mehreren Rechnern gleichzeitig laufen soll, will ich den Drucker am Liebsten per IP ansprechen, damit ich in der zentralen Datenbank ablegen kann.

Ich kenne bisher nur Beispiele, in welchen ich über die lokal-installierten Drucker ausgeben kann. Diese können ja aber auf versch. Rechnern unterschiedlich heißen, obwohl sie den selben Bondrucker meinen.

Kann ich das i-wie lösen?

Danke!

03.03.2014 - 15:47 Uhr

Hallo,

ich stehe vor einem Problem - und zwar möchte ich ein 8 Zeichen Langes Datum in möglichst wenigen Zeichen darstellen können, um wenig Daten übertragen zu müssen (nein ich will kein DateTime Format, sondern übertrage rein auf String Ebene).

Heißt:

31.12.2014 => "31122014" [8-stellig]

soll jetzt wenn möglich per 3 oder 4 Zeichen repräsentiert, übertragen und wieder dechiffriert werden können.

Hat jemand da eine Idee, wie ich das (durch Hinzunahme von Buchstaben) kompakt packen und entpacken kann?

Danke!

27.02.2014 - 01:06 Uhr

DB: MySQL

Ich habe ein Problem, wenn ich in meiner Kunden DB einen Kunden anlege, diesen per Update auf die DB lege und anschließend den selben Kunden löschen will.

Ich erhalte folgenden Fehler:

System.Data.DBConcurrencyException wurde nicht behandelt.
  HResult=-2146232011
  Message=Parallelitätsverletzung: Der DeleteCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.
  Source=System.Data
  RowCount=1
  StackTrace:
       bei System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
       bei System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
       bei System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
       bei MySql.Data.MySqlClient.MySqlDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
       bei System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
       bei System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
       bei YouOrder.myData.Kunde_Löschen(Int64 Cus_ID) in c:\Users\duan\Desktop\YouOrder\YouOrder\YouOrder\myClasses\myData.cs:Zeile 563.

Hier mein Quellcode (beide Methoden für Speichern und Löschen):

        public void Kunde_Löschen(long Cus_ID)
        {
            if (MessageBox.Show("Wollen sie diesen Kunden wirklich löschen?", "Sicherheitsfrage", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                DataRow drCustomer = dtCustomer.Rows.Find(Cus_ID);
                drCustomer.Delete();

                Connection.Open();
                CustomerAdapter.Update(dtCustomer);
                Connection.Close();
            }
        }

        public void Kunde_Speichern(myCustomerEditor Customer)
        {
            if (Customer.NewCustomer)
            {
				DataRow drCustomer = dtCustomer.NewRow();
				drCustomer["Firstname"] = Customer.Firstname;
                drCustomer["Lastname"] = Customer.Lastname;
                drCustomer["UserCreated"] = Manager.Session.User;
                drCustomer["Created"] = DateTime.Now;
                drCustomer["UserChanged"] = Manager.Session.User;
                drCustomer["Changed"] = DateTime.Now;
                dtCustomer.Rows.Add(drCustomer);

            }

            Connection.Open();
            CustomerAdapter.Update(dtCustomer);
            Connection.Close();
        }

Bin echt am Verzweifeln, kann mir jemand helfen?
thx

09.02.2014 - 10:52 Uhr

Habe ich mal installiert und die Exe damit analysiert:

Fehlermeldung:
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Allerdings finde dich da keine MySQL.Data.dll als Eintrag...

Woran kann das liegen? Hier steht was von "delay_load dependency" - kann ich die dann überhaupt finden?

08.02.2014 - 20:45 Uhr

Hallo,

ich versuche gerade eine Bestellung aus meiner MySQL DB per C# als Report auszugeben.

Dazu habe ich schon viel im Netz herumgeschaut und bin auf folgende Programme gestoßen um meine Reports zu designen:

fyiReporting Designer + Reporting Cloud
(scheint von der Oberfläche aber nahezu identisch zu sein!)

Ich bekomme damit aber keine Verbindung zu meiner MySQL DB (siehe Screenshot).

Ich habe die DLL ins Programmverzeichnis kopiert, bekomme aber immer noch diesen Fehler.

  1. Kann mir jemand bei diesem speziellen Problem helfen?
  2. Hat jemand eine gangbare Alternative zu dieser Software, die mir weiterhelfen könnte (wichtig: Open-Source bzw. kostenlos).

Danke!

06.02.2014 - 13:57 Uhr

Ich will eigentlich mehrere Clients haben, die jeweils die komplette DB haben und Neue Sätze untereinander austauschen.

Macht da Master-Master Sinn, wenn bspw. Client 1 Änderungen macht und herunterfährt, Client 2 ist offline und startet nun - da kann ja dann nichts ausgetauscht werden, oder?

Würde dann auc auf eine Always on DB / Server herauslaufen?!

06.02.2014 - 12:52 Uhr

Ok, danke für die schnelle Info.

Ich interessiere mich sehr für das Master-Master Replizieren.

Bedeutet doch aber auch, dass immer ein Austausch stattfinden muss zwischen A & B ?!

Angenommen A fügt Spalten hinzu und schaltet sich ab.

Dann kann B diese Änderungen doch nicht kennen, wenn er gerade erst jetzt startet und seine DB anwirft und Daten holt, oder?

06.02.2014 - 00:14 Uhr

verwendetes Datenbanksystem: bisher lokale SQLite DB

  1. Ich möchte meine Anwendung auf mehreren PCs gleichzeitig laufen lassen.
  2. Jeder User soll die gleichen Daten anzapfen und bearbeiten können.
  3. Ein neuer Tabelleneintrag soll auf jedem Client "verteilt" werden.

Kann ich hier eine SQLite DB in einem Netzwerkpfad sharen und mit mehreren PCs verwenden?

Was wären bessere Alternativen, habe mal gehört Maria DB könnte da etwas brauchbares sein?!

24.06.2012 - 12:49 Uhr

Jawoll, das hat direkt funktioniert!
Danke für die schnelle Hilfe!

24.06.2012 - 11:53 Uhr

Ich habe meine Form entwickelt und ein TableLayoutPanel zum Anordnen der Controls verwendet. Innerhalb einer Zelle habe ich ein untergeordnetes TableLayoutPanel eingefügt (siehe Screenshot).
Den TabIndex der Controls habe ich korrekt in der Reihenfolge von oben nach unten gesetzt (Firma, Straße, Hausnummer, Adresszusatz).

Im ausgeführten Programm wird jetzt aber Straße + Hausnummer übersprungen, ich vermute, da es in einem untergeordneten eigenen TableLayoutPanel steht.

Kann mir jemand sagen, wie ich die Tab Reihenfolge trotzdem wie gewünscht hinbekommen kann?
thx

16.06.2012 - 19:41 Uhr

Firebird 2.5 und FbDataReader vom Firebird SQL .NET Wrapper.

Ich habe das Problem, dass Umlaute falsch gelesen werden aus der DB (in der DB steht bspw. ä, ü, ö - gelesen werden Zeichen, die kyrillisch oder so aussehen und dann falsch im Label / in der Textbox ausgegeben werden).


string sql = "SELECT * FROM CUSTOMERS WHERE CUS_ID = 1";
FbCommand Command = new FbCommand(sql, Connection);				
FbDataReader reader = Command.ExecuteReader();
reader.Read();
Lastname = reader["LAST_NAME"].ToString();

Weiß jemand woran das liegen kann, ist da vllt ein falschen Charset eingestellt, falls ja wo könnte man das anpassen?!

thx

29.05.2012 - 21:48 Uhr

Ok, danke ihr habt mir sehr geholfen.
Dann wird es eine gute alte Win Forms Anwendung, da habe ich sowieso mehr Routine mit...
thx

29.05.2012 - 21:24 Uhr

Naja die Ausgabe ist eigentlich die Nutzung bzw., ist dann Eingabe von Kunden, Bestellungen.

Klasse wäre, wenn man die lokale ISDN Karte auf einem externen Server registrieren könnte und dieser Server ggfs. eine Meldung sendet, damit im Browser ein Popup mit der neuen Telefon Nummer aufgeht.
Klingt etwas kompliziert, aber ich will die DB unbedingt auslagern und bin jetzt eben am Überlegen, ob man es nicht alles ins Web packen könnte, dass man seinen Login hat und dann - falls ISDN Karte vorhanden - diese dann registrieren kann für die Nutzung in eben diesem Web App...
Wäre das möglich oder ist dann ein lokaler Dienst der auf die ISDN Karte hört die bessere Wahl? Falls letzteres zutrifft, brauche ich eine Kommunikation zwischen diesem Dienst und der Web App, geht das?

29.05.2012 - 21:14 Uhr

Es soll die eingehende Nummer auf der ISDN Karte registriert werden und damit soll gearbeitet werden, sprich:

Die Nr. wird in der DB gesucht und ggfs. wird der passende Kunde geladen.

Ansonsten läuft die Anwendung mehr oder weniger im Browser, muss nur logischerweise beim Speichern und lesen in die DB schreiben...

Wie gesagt ist die Eingabe enorm wichtig, Tastatur soll notfalls ausreichen, für die vollständige Nutzung...

29.05.2012 - 21:10 Uhr

Hallo,
ich bin gerade am Überlegen, ob ich meine nächste Anwendung als WebApp entwickeln soll oder ob die Nachteile überwiegen und ich auf Win Forms setzen soll...

Es geht um eine Anwendung, die notwendigerweise auch nur per Tastatur bedient werden sollen kann, d.h. gehen Shortcuts, Tastatureingaben, etc. ohne Einschränkungen?
Ansonsten liegt natürlich eine DB dahinter und es werden Listener benötigt, die bspw. auf eingehende Ereignisse reagieren sollen können (wie Anruf auf ISDN Karte...).

Falls das alles keine No-Go Kriterien sind, habe ich jetzt noch ein Verständnis Problem. Ich verwende Sharp Develop 4.2 und weiß nicht, ob ich jetzt am Besten Silverlight, WPF oder ASP.net entwickeln soll.
Wie kann ich da einen entsprechenden Server einrichten und was würdet ihr mir eurer Erfahrung nach empfehlen zu verwenden (natürlich vorausgesetzt, es ist alles mit Web Controls darstellbar, was ich mir vorstelle...).

thx