Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von nieselfriem
Thema: Jenkins Linting unterschiedliche Ergebnisse Python und C#
Am im Forum: Web-Technologien

In Python wird das nicht als Json übergeben. Das ist ein Dictionary. Ich glaube das äquivalent in C# ist eine Map. Bin mir da aber nicht sicher. Ich bin unter .Net bisher sehr selten unterwegs.

Thema: Jenkins Linting unterschiedliche Ergebnisse Python und C#
Am im Forum: Web-Technologien

Hallo zusammen,

In der C# Implementierung habe ich den GET-Request weg gelassen. Dieser holt nur eine ID vom Jenins ab und das funktioniert auch soweit. Mein Problem ist tatsächlich nur der POST-Request. Für den Rest der Antworten muss ich mich noch kurz belesen.

VG niesel

Thema: Jenkins Linting unterschiedliche Ergebnisse Python und C#
Am im Forum: Web-Technologien

Hallo Zusammen,

wir haben uns in Python einen Linter zusammengebaut um unsere Jenkinspipline vorab quasi über die API (https://www.jenkins.io/doc/book/pipeline/development/) auf die Richtigkeit der Syntax checken zu lassen. Das funktioniert soweit ganz gut. Nun dachte ich mir, versuchst du das ganze mal etwas komfortabler zu machen und schreibst ein kleines Tool in C# mit einer GUI. Das ging auch recht gut von der Hand.
Leider kommt die API vom Jenkins zu einem unterschiedlichen Ergebnis. Sende ich den Inhalt des Pipelinescripts über Python mit dem unteren Code, kommt zurück, dass der Code valide ist. Dies entspricht auch der Tatsache. Versuche ich das gleiche mit meinem C#-Client, meldet er Syntaxfehler, die nicht existieren.

Dazu hier mal der pythoncode


 with open(file, 'r') as jenkinsFile:
                    jenkinsfile_payload = {'jenkinsfile': jenkinsFile.read()}
                try:
                    r = requests.get(self.jenkins_base_url + '/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)',
                                     auth=HTTPBasicAuth(user, password)).text

                    crumb = r.split(':')
                    crumb_headers = {crumb[0]: crumb[1]}

                    validate = requests.post(self.jenkins_base_url + '/pipeline-model-converter/validate', headers=crumb_headers,
                                             auth=HTTPBasicAuth(user, password), data=jenkinsfile_payload)
                    validation_info = "Die Datei {} wurde geprüft: \n{}".format(file, validate.text)
                    self.outputTextField.setText(validation_info)

meine Adaption dessen in C#:


public string validate(string jenkinsBaseUrl, string[] crumb)
        {
            string url = jenkinsBaseUrl + "/pipeline-model-converter/validate";
            string content = "jenkinsfile="+pipelineContent;
            String responseString;
            var httpRequest = (HttpWebRequest)WebRequest.Create(url);
            var data = Encoding.UTF8.GetBytes(content);
            String base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes("user:password"));          
            httpRequest.Headers.Add("Authorization", "Basic " + base64String);
            httpRequest.Headers.Add(crumb[0], crumb[1]);
            httpRequest.ContentType = "application/x-www-form-urlencoded";
            //httpRequest.ContentType = "text/plain";
            httpRequest.Method = "POST";
            httpRequest.ContentLength = data.Length;
            using (var requestStream = httpRequest.GetRequestStream())
            {
                requestStream.Write(data, 0, data.Length);
            }
            var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            Console.WriteLine(httpResponse.StatusCode);
            using (Stream stream = httpResponse.GetResponseStream())
            {
                StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                responseString = reader.ReadToEnd();
            }
            Console.WriteLine(responseString);
            return "";
        }

Das Ergbnis wenn ich die API über C# anspreche

"Errors encountered validating Jenkinsfile:\nWorkflowScript: 137: expecting '}', found '' @ line 137, column 43.\n           deployStage == 'prod' \n                                 ^\n\n"

Wieso kommt die API vom Jenkins zu einem anderen Ergebnis, bzw. an welcher Stellschraube könnte ich drehen? Die Variante der Lineendings der Scriptdatei spielt beim Ergebnis offenbar keine Rolle

VG niesel

Thema: Zugriff auf Exceltabelle ohne Namen angeben zu müssen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <Excel 2007+>

Hallo,

wie kann ich Zugriff auf die Tabellen mit Select zugreifen, ohne den Namen (Tabelle1) angeben zu müssen, wie in meinem Beispiel dargestellt?

OleDbCommand oconn = new OleDbCommand("Select * From [Tabelle1$]", con);

Gibt es die Möglichkeit sie als Array zu referenzieren?

VG Georg

Thema: Debugger startet nicht, weil Datei von einem Prozess verwendet wird
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Wenn ich VS schliesse und obj und bin lösche, dann geht das Compilieren ein bis zweimal gut und dann geht die Schei... wieder von vorne los. Ich vestehe es nicht. Als würde das Programm/Prozess beim beenden nicht richtig beendet werden.

Thema: Debugger startet nicht, weil Datei von einem Prozess verwendet wird
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Doch so ist es leider. Ich habe den Neustart von Windows noch einmal ausgeführt. Dennoch bekomme ich noch diese Fehlermeldung. 

Thema: Debugger startet nicht, weil Datei von einem Prozess verwendet wird
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

ich weiß nicht warum aber in meinem Visual Studio 2010 startet mein Debugger mit meinem kleine Programm nicht mehr: es kommt zu Fehlermeldung:

Fehler
Warnung 11 "obj\x86\Debug\programm.exe" konnte nicht in "bin\Debug\programm.exe" kopiert werden. Wiederholung 8 wird in 1000 ms gestartet. Der Prozess kann nicht auf die Datei "bin\Debug\programm.exe" zugreifen, da sie von einem anderen Prozess verwendet wird.
Bei 10 Versuchen bricht er dann ab.
Ein VS- und Windows-Neustart hat nichts gebracht.

Selbst wenn ich den Task (vhost) beende kommt dieser Fehler.

Was kann ich machen?

VG niesel

Thema: DataGridView und CellValueChanged nur bei Zellen editieren
Am im Forum: GUI: Windows-Forms

Hallo,

ich habe eine Art Import-Formular erstellt auf dem zwei DataGridviews enthalten sind. Auf der Rechten Seite ist das Quell-DataGridview was mit der Datenbank gefüllt wird und auf der rechten Seite ein leeres DataGridview (Senke). Dieses kann mit der Auswahl von Zeilen aus dem Quell- DataGridview gefüllt werden. Das alles funktioniert ganz gut.
Nun hat der User die Möglichkeit die Zellen auf der Seite des rechten Seite (Senke) zu bearbeiten. Nun soll es so sein, dass verschiedene Aktionen je nach dem welche der Spalten editiert worden sind ausgelöst werden sollen. Wenn also eine Zelle Spalte 2 editiert wird oder Spalte 3 soll ein Insert in der Datenbank ausgelöst werden sonst soll ein Update ausgelöst werden.
Dazu habe ich die untere Methode implementiert.


        private void matImpDataGridVW_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
         
            if (e.RowIndex ≥ 0 ) {
                if (e.ColumnIndex == 2 || e.ColumnIndex == 3)  {
                //add in update queue
                    idins.Add(matImpDataGridVW.Rows[e.RowIndex].Cells[1].Value);

                }
                else
                {
                //add in insert queue
                    idup.Add(matImpDataGridVW.Rows[e.RowIndex].Cells[1].Value);
                }
            }
        }
Allerdings habe ich folgendes Problem. Die obige Methode wird auch ausgelöst, wenn ich eine Zeile aus der Quell-Datagridview in die linke Senk-DataGridview bewege. Die Methode soll jedoch erst ausgelöst werden, wenn die Zelle durch den User editiert wird. Wie kann ich das machen?

VG niesel

Thema: Prüfen von Währungswerten in DataGridView Zelle
Am im Forum: GUI: Windows-Forms

Meintest Du?


this.dataGridView1.CellValidating += new
            DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating);
        this.dataGridView1.CellEndEdit += new
            DataGridViewCellEventHandler(dataGridView1_CellEndEdit);

vg niesel

Thema: Prüfen von Währungswerten in DataGridView Zelle
Am im Forum: GUI: Windows-Forms

Hallo!

Ich habe eine Zelle im Datagridview das den Dataentyp Double enthält und die mittels DefaultCellStyle.Format = "c"; als Währung formatiert ist. Nun möchte ich natürlich, dass nur Zahlenin Form von xx,xx eingegebn werden können.

Dazu habe ich folgende Methode versucht zu implementieren:


private void matImpDataGridVW_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            if (e.ColumnIndex != 3) return;
;
            tools.Tools t = new tools.Tools();

            if (matImpDataGridVW.Rows[e.RowIndex].Cells[3] != null)
            {
                string i = matImpDataGridVW.Rows[e.RowIndex].Cells[3].Value.ToString();
                i.Replace(",", ".");
                if (t.IsNum(i) == false)
                {
                    MessageBox.Show("Nix da");
                }
            }
        }

Hilfsmethode isNum-Methode:


public bool IsNum(string s)
        {
            double output;
            return double.TryParse(s, out output);
        }
Steht jetzt z.B. 14,95€ drin und ich trage ich 14ft95, ein wird leider kann Warnung ausgeben. Wenn ich den Debugge verwende ist nicht der Wert 14ft95 sondern 14,95 in der Variable i. Wann wird die Validierung ausgelöst? Was muss ich anders machen?

VG niesel

Thema: Format für Währungen im DataGridView konfigurieren
Am im Forum: GUI: Windows-Forms

Das habe ich aus einem Tutorial, welches sich damit beschäftigt eine Selectbox in dieses View zu integrieren. Ich geh mal davon aus, dass der Autor dieses Tutorials aus diesem Grund diesen Weg gewählt hat.

Thema: Format für Währungen im DataGridView konfigurieren
Am im Forum: GUI: Windows-Forms

Das war es :D

Danke!

VG niesel

Thema: Format für Währungen im DataGridView konfigurieren
Am im Forum: GUI: Windows-Forms


public DataTable loadMatImpTable(String query)
        {
            myConn.Open();
            SQLiteCommand cmd = new SQLiteCommand(query, myConn);
            SQLiteDataAdapter sda = new SQLiteDataAdapter();
            sda.SelectCommand = cmd;
            DataTable dt= new DataTable();
            sda.Fill(dt);
            return dt;

        }

Das DataGridview befülle ic dann wie folgt:


DataTable dt = lt.loadMatImpTable(queryMat);
this.matExpDataGridVW.Columns["Preis"].DefaultCellStyle.Format = "c"; //Greift nicht
this.matDataGridVW.Rows.Clear();
foreach (DataRow item in dt.Rows)
{
                int n = matDataGridVW.Rows.Add();
                matDataGridVW.Rows[n].Cells[0].Value = false;
                matDataGridVW.Rows[n].Cells[1].Value = item["MaterialID"].ToString();
                matDataGridVW.Rows[n].Cells[2].Value = item["Name"].ToString();
                matDataGridVW.Rows[n].Cells[3].Value = item["Preis"].ToString();

}

Nun möchte ich die Spalte[3] bzw. ["Preis"] als Euro/Währung ausgeben lassen. Das greift nur leider nicht. Ich habe es auch schon probiert, dies in der Form.Designers.cs zu konfigurieren. Interessanterweise hat dies funktioniert, als ich die Tabellen über eine BindingSource als Datasource befüllt habe.

Wo und wie kann ich in der obigen Implementierung das Format der Spalte für Währungen konfigurieren?

VG niesel

Thema: DataGridViewCheckboxColums: Der Index lag außerhalb des Bereichs.
Am im Forum: GUI: Windows-Forms

Das ich Debuggen sollte und den Debugger nutzen muss ist mir schon klar. Aber ich wollte nur ein kleinen Tipp woran es liegen kann, dass der index nicht stimmen soll.

Egal, Ich habe den Fehler gefunden. Ich musste in den Eigenschaften des DataGridview den Selectionmode auf FullRowSelect stellen.

vg niesel

Thema: Prüfen welcher Button von Unterformular verwendet worden ist.
Am im Forum: GUI: Windows-Forms

Danke, hat geholfen.

:D

Thema: DataGridViewCheckboxColums: Der Index lag außerhalb des Bereichs.
Am im Forum: GUI: Windows-Forms

Hallo!

Ich versuche eine Select Feld in eine Tabelle zu integrieren. Dazu habe ich das DataGridview mit den Spalten Auswahl, MaterialId, Name, Preis ausgestattet. Weiterhin befülle ich dieses DataGridview mit einer Datenbank Select:

 String queryMat = "SELECT Material.materialID AS MaterialID, Material.Name AS Name, Material.Preis AS Preis from material ORDER BY NAME";

Das übergebe ich an die untere Methode, die dann eine Datatable zurück liefert


public DataTable loadMatImpTable(String query)
        {
            myConn.Open();
            SQLiteCommand cmd = new SQLiteCommand(query, myConn);
            SQLiteDataAdapter sda = new SQLiteDataAdapter();
            sda.SelectCommand = cmd;
            DataTable dt= new DataTable();
            sda.Fill(dt);
            return dt;

        }

Das DataGridview befülle ic dann wie folgt:


DataTable dt = lt.loadMatImpTable(queryMat);
 this.matDataGridVW.Rows.Clear();
foreach (DataRow item in dt.Rows)
{
                int n = matDataGridVW.Rows.Add();
                matDataGridVW.Rows[n].Cells[0].Value = false;
                matDataGridVW.Rows[n].Cells[1].Value = item["MaterialID"].ToString();
                matDataGridVW.Rows[n].Cells[2].Value = item["Name"].ToString();
                matDataGridVW.Rows[n].Cells[3].Value = item["Preis"].ToString();

}

Nun zu Problem. Ich möchte die Auswahl nun wie folgt bearbeiten:


private void matDataGridVW_MouseClick(object sender, MouseEventArgs e)
        {
            if ((bool)matDataGridVW.SelectedRows[0].Cells[0].Value == false) //Fehler
            {
                matDataGridVW.SelectedRows[0].Cells[0].Value = true;
            }
            else
            {
                matDataGridVW.SelectedRows[0].Cells[0].Value = false;
            }
        }

Da kommt es zum Fehler in der If-Abfrage. Wieso ist der Index negativ? Die Datenbankanfrage funktioniert und die Tabelle wird richtig angezeigt. Sobald ich aber versuche eine Auswahl auszüfhren bekomme ich die Excepltion.

VG niesel

Thema: Prüfen welcher Button von Unterformular verwendet worden ist.
Am im Forum: GUI: Windows-Forms

Hallo,

ich habe folgendes Konstrukt

aus dem Hauptformular rufe ich per Button ein unterformular auf.

 private void addNewMaterialBT_Click(object sender, EventArgs e)
        {
            NewMaterialFM newMatFM = new NewMaterialFM();
            newMatFM.ShowDialog();
            if(newMatFM .OK_BUTTON == newMatFM.OK_BUTTON) //Nach Javaart
               //tu was

        }

Nun möchte ich prüfen, welcher Button aus dem Unterformular verwendet worden ist, wenn es Button1 oder Button2 sind dann soll was passieren, bei Button3 eben nicht. Unter Java, gab es für solche Fälle eine Statische Variable bei Dialogen wie z.B. CANCEL_BUTTON. Wie kann ich das bei C# prüfen?

VG niesel

Thema: BindingSource auf NULL prüfen
Am im Forum: Datentechnologien

danke, für die Antwort. Mit Count hat das super funktioniert.

Thema: BindingSource auf NULL prüfen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQLITE 3

Hallo!

Ich möchte ein DataGridview abhängig vom Inhalt eine Bindingsource sichtbar machen. Sollte kein Inhalt bzw NULL darin stehen, soll es unsichtbar bleiben.

Die Daten frage ich wie folgt ab:


public BindingSource loadKuBestelTable(String query, int kId)
        {
            SQLiteCommand cmd = new SQLiteCommand(query, myConn);
            cmd.Parameters.AddWithValue("KId", kId );
            SQLiteDataAdapter sda = new SQLiteDataAdapter();
            sda.SelectCommand = cmd;
            DataTable dataset = new DataTable();
            sda.Fill(dataset);
            BindingSource bsSource = new BindingSource();
            bsSource.DataSource = dataset;
            sda.Update(dataset);
            myConn.Close();
            return bsSource;

        }

um nun die Daten in das Dategridview zu bekommen habe ich folgende Code


 DAO.LoadTablesDAO lt = new DAO.LoadTablesDAO();
            try
            {
                BindingSource bs = lt.loadKuBestelTable(query, kId);
                if (bs == null) //funktioniert nicht
                {
                    this.KuBestellDataGridVW.Visible = false;
                }
                else
                {

                    this.KuBestellDataGridVW.Visible = true;

Wie kann ich am BindinSource-Objekt prüfen, ob aus der Datenbankabfrage Werte zurückommen sind die nicht NULL sind.


VG niesel

Thema: Umwandeln eines Datumstrings in DateFormat
Am im Forum: Grundlagen von C#

Oooooch ich Trottel.... 8o

Danke, das war es.

Thema: Umwandeln eines Datumstrings in DateFormat
Am im Forum: Grundlagen von C#

Hallo!

Ich möchte den Datumstring "30.12.2010 00:00:00" mit folgendem Code in ein DateTime-Object umzuwandeln. Laut Debugger sind folgende Werte während der Laufzeit existent:

		kaufdatum	"30.12.2010 00:00:00"	string
		dateformat	"dd.MM.YYYY hh:mm:ss"	string


string kaufdatum = row.Cells["Kaufdatum"].Value.ToString();
                string dateformat = "dd.MM.YYYY hh:mm:ss";
                try
                {
                    DateTime dt = DateTime.ParseExact(kaufdatum, dateformat, CultureInfo.InvariantCulture);
                    //matkaufDatDTP.Value = dt;

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
Doch leider kommt es zu einer Exception "Die Zeichenfolge wurde nicht als gültiges DateTime erkannt.

Was mach ich falsch?

VG niesel

Thema: Navigator für GUI erstellung
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo!

Bisher habe ich in Netbeans für Java GUI's erstellt. Nun will ich mich diesem Thema in C# widmen. In Netbeans hatte ich eine Art Navigator für die Objekte die ich auf der Form Hinterlegt habe und in welcher Hierarchie sie angelegt worden sind.
Also z.B.


Form1
 |
 |--Panel1
      |
      |-Button1


Gibt es so etwas auch im Visual Studio?

VG niesel?

Thema: Using-Anweisung für Word-Objekt
Am im Forum: Office-Technologien

Hallo!

Ich möchte ein kleine Tool schreiben mit dem ein Word-Dokument erstellt werden soll. Dazu habe ich folgendes Tutorial angefangen: Word Tutorial C#. Leider scheitere ich schon bei der Erstellung des Word Objektes.

 Word.ApplicationClass myWordApp = new Word.ApplicationClass();
Ich habe dazu diese MS Word 14.0 Object Libary und MS Office 14.0 Libary als verweis hinzugefügt.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
using Microsoft.Office.Core;
using Microsoft.Office;

namespace word_test
{
    class Program
    {
        static void Main(string[] args)
        {
            Word.ApplicationClass myWordApp = new Word.ApplicationClass();//Fehler
     
        }
    }
}
Was mach ich falsch?

VG niesel

Thema: Unable to convert MySQL date/time value to System.DateTime
Am im Forum: Datentechnologien

Zitat
Allows NULL
Meinst du damit, dass BNOT NULL nicht vorhanden ist in der Struktur des Attributes?

Grüße

Thema: Unable to convert MySQL date/time value to System.DateTime
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MySQl

Hallo,

wieder einmal das alte Leid. Ich habe google schon um eine Lösung ersucht und jedoch nichts richtiges gefunden.
In meine Tabelle sind DATTIME-Einträge mit 0000-00-00 00:00:00 Einträgen.
Das das .net diese Einträge nicht mag ist mir bekannt. Ich ahbe folgenden Workaround im Netz gefunden


SELECT DATE_FORMAT( `Bewerbzeit` , '%d/%m/%Y' ) AS Bewerbzeit
aber das mag er auch nicht. Jedoch eine konkrete Lösung hat sich mir nicht erschlossen. Was ist zu tun?


string stm = "SELECT DATE_FORMAT( `Bewerbzeit` , '%d/%m/%Y' ) AS Bewerbzeit";
              
        try 
        {
            conn = new MySqlConnection(cs);          
            conn.Open();
            ds = new DataSet();
            da = new MySqlDataAdapter(stm, conn);
            da.Fill(ds, "arbeitnehmer");//Unable to convert MySQL date/time value to System.DateTime

            dg.DataSource = ds.Tables["arbeitnehmer"];

        } catch (MySqlException ex) 
        {
            Console.WriteLine("Error: " + ex.ToString());

        } finally 
        {
            if (conn != null) 
            {
                conn.Close();
            }
        }    


Grüße niesel

Thema: es können keine exe dateien mehr erzeugt werden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

cih habe einfach ein konsolenprojekt erstellt und wollte es einfach kompelieren lassen und selbst da scheiterts schon!

gruß

Thema: es können keine exe dateien mehr erzeugt werden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo!

Ich versuche langsam aber ishc er mich mit Visual Studio zu beschäftigen. Gestern funktionierte das Kompiliren ohne Probleme nur heute bekomme ich folgende Fehlermeldung.
Es sind alle Dateien in diesem Verzeichnis vorhanden und ein Windows und IDE neustart haben nicht gebracht

MFG niesel

Thema: Mysql Connector und andere Clients
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo!

Ich habe ein kleines Prog geschrieben um mal was auszuprobieren. Dazu habe ich als Referenz in Sharpdevelop den MYsqlconnector eingebunden. Ist ganz ok auf meinem Rechner. Was mach ich jedoch auf Fremdrechner. Müssen die alle den Mysqlconnctor installieren oder kann dieser mit "einkompiliert" werden so das er in der compilierten ausführbaren Datei mit drin ist.
Wenn ja wie mach ich das in Sharpdevelop

Gruß niesel

Thema: mysql connector wird nicht gefunden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

ICh habs in Visual Studio. Danke für den Tipp mit der Reference.

MFG Georg

Thema: mysql connector wird nicht gefunden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

OK dann gehen wir erst einmal von Visual Studio 2005 aus. Das habe ich auch. Sharpdevelop währe nur eine evtl. alternative fall MS sich problematischer anstellen sollte.

MFG niesel