Programmieren – die neusten Beiträge

C# Kann nicht auf MySql DB (phpMyAdmin) zugreifen?

Ich wollte ein C# Programm schreiben um meine MySql Datenbank zu testen.
Das Programm soll sich mit der DB verbinden und die Datenbank Einträge in eine DataGridView eintragen. Den Code habe ich von hier: https://www.youtube.com/watch?v=SZqIjaizkTM&ab_channel=mhluc%23 (habe ihn aber ein bisschen verändert)
Ich komme jedoch nicht in die Datenbank rein.

Es gibt Probleme bei dem Connection.OpenAsync()

Hier die Exception:

MySql.Data.MySqlClient.MySqlException
 HResult=0x80004005
 Nachricht = Unable to connect to any of the specified MySQL hosts.
 Quelle = MySql.Data
 Stapelüberwachung:
  at MySql.Data.MySqlClient.NativeDriver.Open()
  at MySql.Data.MySqlClient.Driver.Open()
  at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
  at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
  at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
  at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
  at MySql.Data.MySqlClient.MySqlPool.GetConnection()
  at MySql.Data.MySqlClient.MySqlConnection.Open()
  at System.Data.Common.DbConnection.OpenAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
  at VoidRaiderDB_Browser.MainWindow.<MenuStripItemClicked>d__3.MoveNext() in D:\Projects\VoidRaiderDB Browser\VoidRaiderDB Browser\MainWindow.cs:line 31

 Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
  [Externer Code]

Innere Ausnahme 1:
AggregateException: One or more errors occurred. (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.)

Innere Ausnahme 2:
SocketException: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.

glaube ich habe beim Connection String verkackt aber habe keine Ahnung was ich falsch gemacht habe..

Das Passwort/User-Name ist richtig da ich mit den auch in die phpMyAdmin Seite reinkomme

Bild zum Beitrag
Computer, Internet, Software, Technik, programmieren, C Sharp, Datenbank, Informatik, MySQL, Technologie, phpMyAdmin

Chat bot programmieren?

Hallo, ich programmiere gerade einen Chat Bot mit python, leider gibt es darin ein Fehler, kann aber keinen finden!

Mein Problem: Immer wenn ich etwas eingebe, dann sagt er immer:"Ich bin mir leider nicht sicher, ob ich Sie richtig verstanden haben". Das habe ich als zufallscode eingegeben, wenn der Chat bot darauf keine Antwort hat!

Dies ist mein Code: # -*- coding: utf-8 -*- 
import random
zufallsantworten=["Ich bin mir leider nicht sicher, ob ich Sie richtig verstanden haben"]
reaktionsantworten = {"Hallo": "Guten Tag Dorian",
                      "Wie geht es dir?": "Was möchtest du denn essen?",
                      "ich bin einsam": "Es tut mir leid das zu hören, ich bin aber für Sie da!",
                      "Wie geht es dir?": "Ich bin ein Chatbot, ich habe leider keine Gefühle",
                      "Aufwiedersehen!": "Aufwiedersehen, ich hoffe, dass ich helfen konnte!",
                      "Aufwiedersehen": "Aufwiedersehen, ich hoffe, dass ich helfen konnte!",
                      "Bye": "Aufwiedersehen, ich hoffe, dass ich helfen konnte!",
                      "Tschüss": "Aufwiedersehen, ich hoffe, dass ich helfen konnte!",
                      "Stell dich bitte vor": "Mein Name ist noch no name, ich bin ein virtueller Chat Assistent und darauf ausgelegt Sie zu unterhalten",
                      "Wer bist du?": "Mein Name ist noch no name, ich bin ein virtueller Chat Assistent und darauf ausgelegt Sie zu unterhalten",
                      "Wer bist du": "Mein Name ist Noch no name, ich bin ein virtueller Chat Assistent und darauf ausgelegt Sie zu unterhalten",
                      "It's been a long day without you, my friend": "And I'll tell you all about it when I see you again",
                      }
                      
print("Willkommen beim Chatbot")
print("Worüber würden Sie gerne heute sprechen?")
print("Zum beenden einfach 'bye' eintippen")
print("")
nutzereingabe = ""
while nutzereingabe != "bye":
    nutzereingabe = ""
    while nutzereingabe == "":
        nutzereingabe = input("")
        
    nutzereingabe = nutzereingabe.lower()
    nutzerwoerter = nutzereingabe.split()
    
    intelligenteAntworten = False
    for einzelwoerter in nutzerwoerter:
        if einzelwoerter in reaktionsantworten:
            print(reaktionsantworten[einzelwoerter])
            intelligenteAntworten = True
    if intelligenteAntworten == False:
        print(random.choice(zufallsantworten))
        
    print("")
print("Einen schönen Tag wünsche ich Dir. Bis zum nächsten Mal")

Das einzige, was funktioniert ist bye..., davor haben nur die kurzen Befehle funktioniert..., kann mir bitte jemand helfen?

Und, könnte man den Chatbot außerdem auch am Handy verwenden und wie?

programmieren, Python

Flutter-Future<List> als List zurück geben?

Heeeeey Leute,

Ich rufe eine Liste aus der Datenbank ab und will daraus eine Liste auf der App visualisieren.

Aber in einer async Funktion kann ich keine liste zurück geben.
Wie bekomme ich die Liste jetzt in meinen build.

Code sieht so aus

  void missionEntries()async{
    final Future<List>mission=DBManagement().getAll();
    List missions=await mission.then((value) => null);
  }

  @override
  Widget build(BuildContext context) {
    missionEntries();
    return Expanded(
      child: Container(
        child: ListView.builder(
          itemCount: missions.length,
          itemBuilder: (context, index) {
            return GestureDetector(
              onLongPress: ()=>print("Eintrag bearbeiten!"),
              onTap: ()=>print("Eintrag einsehen!"),
              child: Card(
                child: Row(
                  children: <Widget>[
                    Expanded(
                      child: Text(
                        missions[index]["num"],
                        textAlign: TextAlign.center,
                      ),
                    ),
                    Expanded(
                      child: Text(missions[index]["location"]),
                    ),
                    Expanded(
                      child: Text(missions[index]["date"].toString()),
                    ),
                    Expanded(
                      child: Text(missions[index]["time"].toString()),
                    ),
                    Expanded(
                      child: IconButton(
                        icon: Icon(Icons.delete),
                        onPressed: ()=>print("löschen")
                      )
                    ),
                  ],
                ),
              ),
            );
          }
        ),
      ),
    );
  }

und missionEntries(); müsste eigentlich zu

List missions=missionEntries() werden weil ich die missions liste

ein paar zeilen weiter im ListView.builder brauche.

Hoffe Ihr könnt mir helfen.

programmieren, Scripten, Visual Studio, Flutter, Android Studio

C: Wie kann ich ein Pointer-Array anlegen, um die Fundstellen zu speichern?

/* 24_02 dynamische Speicherverwaltung
   demonstriert realloc
   ZUR BEACHTUNG: Dies ist ein reines Demo-Programm!
                  Speicher-Reallokation in 10-Byte-Blöcken ist in der Praxis nicht sinnvoll!
                  Speicherallokation und insbesondere Speicher-Reallokation kosten erhebliche System-Resourcen!
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define STRLEN 10

int Such(char* strPtr, char* Ptr2);

int main()
{
  int n = 1;
  char* strPtr = (char*)malloc(n * STRLEN); // kleinen Speicherblock anfordern
  char* strPtr2 = (char*)malloc(n * STRLEN); // kleinen Speicherblock anfordern
  printf("Bitte Text eingeben: \n");
  fgets(strPtr, STRLEN, stdin); // einlesen
  printf("\n");

  while (strPtr[strlen(strPtr) - 1] != '\n') // Ende erreicht, letztes Zeichen '\n'?
  {
    n++; // Anzahl Blöcke inkrementieren
    strPtr = (char*)realloc(strPtr, n * STRLEN); // größeren Speicher anfordern: n Blöcke
    fgets(strPtr + strlen(strPtr), STRLEN + 1, stdin); // weiter einlesen, terminierende 0 überschreiben, STRLEN + 1 Byte stehen zur Verfügung
  }

  printf("Nach welcher Zeichenfolge soll gesucht werden?\n");
  fgets(strPtr2, STRLEN, stdin); // einlesen
  printf("\n");

  while (strPtr2[strlen(strPtr2) - 1] != '\n') // Ende erreicht, letztes Zeichen '\n'?
  {
    n++; // Anzahl Blöcke inkrementieren
    strPtr2 = (char*)realloc(strPtr2, n * STRLEN); // größeren Speicher anfordern: n Blöcke
    fgets(strPtr2 + strlen(strPtr2), STRLEN + 1, stdin); // weiter einlesen, terminierende 0 überschreiben, STRLEN + 1 Byte stehen zur Verfügung
  }

  printf("Zeichenfolge wurde %i mal gefunden\n", Such(strPtr, strPtr2));
  return 0;
}

int Such(char* strPtr, char* strPtr2)
{
  int n = 0;
  int p = 0;
  int sip = 0;

  int ltext = strlen(strPtr) - 1;
  int lzfolge = strlen(strPtr2) - 1;
  int lgteilt = ltext / lzfolge;
  char* ptrarr[] = { NULL };

  while ((lgteilt) > 0)
  {
    for (int i = 0; i < lzfolge; i++)
    {
      if (strPtr[p] == strPtr2[i])
      {
        sip++;
      }

      p++;
    }

    lgteilt--;
  }

  return (sip / lzfolge);
}

Ich verstehe leider nicht ganz, wie man ein Pointer-Array anlegen soll, um die Fundstellen zu speichern.

Ich habe zwar eine Schleife, aber diese kann z. B. "yay" nicht mit "ay" vergleichen.

Danke für die Hilfe.

Bild zum Beitrag
Computer, Technik, programmieren, Technologie, C (Programmiersprache)

Excel Zeiten erfassen?

Hallo zusammen,

ich habe folgende Problem in Excel. Ich möchte einen gewissen Zeitraum aus Stundenaufzeichnungen in Tag- und Nachtzeit unterscheiden.

Dabei geht die Tagzeit von 06:00 - 20:00 Uhr und die Nachtzeit von 21:59 - 05:59 Uhr.

In B4 steht die Uhrzeit des Arbeitsbeginn und in C4 das Ende. Diese sind in Format Uhrzeit formatiert. Die entsprechenden Zahlenformate zu der Uhrzeit sind in AB4 (Beginn) und AC4 (Ende).

Nun möchte ich, wenn die Arbeitszeit z.b. von 04:00 Uhr - 23:00 Uhr geht, dass entsprechend richtig die Stundenanzahl in Tag und Nacht unterschieden wird. Die Uhrzeit kann auch tagesübergreifend sein z.B. 19:00 - 07:00 Uhr. dabei ist jede erdenkliche Möglichkeit innerhalb eines Tages (24 Stunden) möglich.

Beispiel:
Bei der Arbeitszeit von 19:00 - 07:00 Uhr sind 2 Tagstunden (19:00-20:00 + 06:00 - 07:00) und 10 Nachtstunden (20:00 - 00:00 + 00:00 - 06:00).

fehlerhafte Formel für die Tageszeit als Zahl in Zelle Z4:

=WENN(ODER(D4<>"A";AB4="";AC4="");0;WENN(UND(AC4<=AB4;AC4>=Adm!$F$7);(Adm!$F$8-B4)+(C4-Adm!$F$7);WENN(UND(AB4>=6;AC4<=20);(C4-B4);WENN(UND(AB4>=6;AC4>=20);Adm!$F$8-B4;WENN(UND(AB4<=6;AC4<=20);C4-Adm!$F$7;WENN(UND(AB4<=6;AC4>=20);Adm!$F$8-Adm!$F$7;WENN(AC4<AB4;WENN(UND(AC4<AB4;AC4<=6);(Adm!$F$8-B4);""))))))))

fehlerhafte Formel für die Nachtzeit als Zahl in Zelle AA4:

=WENN(ODER(D4<>"A";B4="";C4="");0;WENN(UND(AB4<6;AC4>20);(Adm!$F$7-B4)+(C4-Adm!$F$8);WENN(AB4<6;Adm!$F$7-B4;WENN(AC4>20;C4-Adm!$F$8;0))))

In der Zelle: "Adm!$F$7" steht als Uhrzeit formatiert 06:00 und "Adm!$F$8" steht die Uhrzeiten 20:00 Uhr.

Vielleicht hat jemand eine Idee und kann die Formeln korrigieren oder hat entsprechend einen besseren/richtigen Ansatz. Problem bei der ganzen Sache ist einfach, das hier auch Tagesübergreifend gearbeitet wird und entsprechend das Ende "kleiner" ist als der Anfang. Ich habe die Vermutung, dass mit "+1" gearbeitet werden muss, aber bin da leider raus.

Gruß

Bild zum Beitrag
Computer, Microsoft, Microsoft Excel, programmieren

Meistgelesene Beiträge zum Thema Programmieren