ich habe eine Funktion geschrieben, welche mehrere Einträge in meinem DataGridView vergleicht und dementsprechend in einem anderen Feld das Ergebnis ausgibt.
Die Funktion vergleicht Das heutige Datum/Zeit mit dem Versanddatum/Versandzeit.
Nur aus mir nicht ersichtlichen gründen, zeigt er die letzte Zeile nicht an und sie bleibt Frei obwohl bei dieser Zeile die selbe Funktion greifen müsste.
Hallo zusammen und ein Frohes und gesundes neues Jahr.
Ich möchte gerne wenn sich der Wert einer Zelle ändert die gesamte Zeile in eine Farbe einfärben.
In meinem Fall soll die Zeile 2 der Auslöser sein (siehe Bild). Die Zeile 2 beinhaltet nur Zahlen (0 und 3).
Leider bekomme ich keine Fehlermeldung bei meinem Code. Daher weiß ich leider nicht genau wo hier der Fehler liegt.
Was ich bis jetzt probiert habe ist folgendes:
DataGridViewCellStyle cellStyle = new DataGridViewCellStyle();
if (dataGridView2.Rows[2].Cells.ToString().Contains ("0"))
{
cellStyle.BackColor = Color.Red;
}
Und das gleiche auch bei den folgenden "Zeilen" (vor where, and und group by)...
Mach am besten jeweils ein Leerzeichen vor die Schlüsselwörter".
Guten Abend Th69,
Danke für deine Antwort.
Habe ich gemacht.
Das ist mir schon fast unangenehm aber jetzt bekomme ich eine neue Fehlermeldung. :\ Oracle.ManagedDataAccess.Client.OracleException: "ORA-00942: Tabelle oder View nicht vorhanden"
Aber warum sagt VS dass die Tabelle nicht exestiert? Ich habe meinen ConnectionString auf genau diese Abfrage/Benutzer abgestimmt.
private void button5_Click(object sender, EventArgs e)
{
con.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "select r.lrou_groupident AS Batchbezeichnung,lum.lwds_ident AS Bereich,round(sum(ll.lcsl_qtyhost/lum.lpu_factor)) AS Offene_GVEs,"
+ " to_char(sysdate,'HH24:MI') AS Erstellzeit from lcos_ship_head lh,lcos_ship_line ll,product l,lproduct_um lum,lroute r"
+ " where lh.lcsh_ref = ll.lcsh_ref"
+ " and ll.lprod_ref = l.lprod_ref"
+ " and l.lprod_ref = lum.lprod_ref"
+ " and r.lrou_ref = ll.lrou_ref"
+ " and lum.lpu_zzsalesunit = 1"
+ " and lum.lwds_ident in ('DPS', 'MPS', 'MAN', 'WAN')"
+ " and trunc(r.lrou_date) between(sysdate - 5) and (sysdate)"
+ " and ll.lcsl_state > 60"
+ " group by r.lrou_groupident,lum.lwds_ident";
cmd.Connection = con;
OracleDataAdapter adapter = new OracleDataAdapter();
adapter.SelectCommand = cmd;
DataSet dataset = new DataSet();
adapter.Fill(dataset);
dataGridView1.AutoResizeColumns();
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.DataSource = dataset.Tables[0];
con.Close();
}
Ohje. Okay darauf hätte ich echt drauf kommen können. Ist mir vorher nicht passiert da ich den CommandText in anderen abfragen in einer Zeile geschrieben hatte. Dankeschön
Nun habe ich aber die Fehlermeldung
Fehler
Oracle.ManagedDataAccess.Client.OracleException: "ORA-00933: SQL-Befehl wurde nicht korrekt beendet"
ich habe bei einer Abfrage welche ich gerne in mein C# Programm einbinden möchte eine Fehlermeldung.
Könntet ihr euch einmal meine Eingabe ansehen? Habe ich etwas Übersehen? Alle anderen Abfragen funktionieren in meinem Programm.
Ich bekomme die Fehlermeldung Oracle.ManagedDataAccess.Client.OracleException: "ORA-00923: Schlüsselwort FROM nicht an erwarteter Stelle gefunden"
Das kann ich mir leider nicht erklären, da ich genau diese Abfrage auf der Datenbank ohne Probleme ausführen kann.
Ich danke euch!
Achso und schonmal Frohe Weihnachten.
In Oracle sieht es wie folgt aus und funktioniert wie erwünscht.
select r.lrou_groupident AS Batchbezeichnung,lum.lwds_ident AS Bereich,
round(sum(ll.lcsl_qtyhost/lum.lpu_factor))AS Offene_GVEs,
to_char(sysdate,'HH24:MI') AS Erstellzeit
from lcos_ship_head lh,
lcos_ship_line ll,
lproduct l,
lproduct_um lum,
lroute r
where lh.lcsh_ref = ll.lcsh_ref
and ll.lprod_ref = l.lprod_ref
and l.lprod_ref = lum.lprod_ref
and r.lrou_ref = ll.lrou_ref
and lum.LPU_UM = ll.LCSL_UM
and lum.lpu_zzsalesunit = 1
and lum.lwds_ident in ('DPS','MPS','MAN','WAN')
and trunc(r.lrou_date) between (sysdate -5) and (sysdate)
and ll.lcsl_state > 60
group by r.lrou_groupident,lum.lwds_ident
Timeouts sind meistens Verbindungsprobleme, zB Netzwerk, Firewall...
Das ist mir bewusst. Ich habe (hätte ich natürlich vorher dazu schreiben sollen) Die Verbindung von meinem Client zu der Datenbank getestet und hatte hier keinerlei Probleme mit der Verbindung.
Die Frage ist natürlich, warum bekomme ich keine Verbindung aus meinem Programm heraus?
Könnte jemand evtl. einmal über meinen ConnectionString schauen? Evtl. habe ich hier einen Fehler?
Oracle Server Version PL/SQL Developer 11g Release 11.2.0.3.0
DLL: C:\OracleInstantClient\oci.dll
Die erforderlichen Daten für den "ConnectionString" habe ich mir aus der tnsnames.ora auf dem Server genommen.
Problembeschreibung
Hallo zusammen,
ich bekomme beim Ausführen (Klick auf den Button1) nach einer kurzen Zeit von etwa 15 Sekunden folgende Timeout Fehlermeldung:
Fehler
Ausnahme ausgelöst: "Oracle.ManagedDataAccess.Client.OracleException" in Oracle.ManagedDataAccess.dll
Eine externe Komponente hat eine Ausnahme ausgelöst.
"OraConnect.exe" (CLR v4.0.30319: OraConnect.exe): "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.Desktop.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
Das Programm "[24004] OraConnect.exe" wurde mit Code -1 (0xffffffff) beendet.
Leider konnte ich dazu nichts finden und mich würde interessieren warum ich diese Fehlermeldung bekomme bzw. Wo ich ansetzen kann um das Problem zu lösen und eine Verbindung aufgebaut bekomme.
Für Ideen wäre ich euch sehr dankbar.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Oracle.ManagedDataAccess.Client;
using System.Configuration;
using System.Diagnostics;
//OCI: version 11.1
// Oracle Server Version PL/SQL Developer 11g Release 11.2.0.3.0
// DLL C:\OracleInstantClient\oci.dll
namespace OraConnect
{
public partial class Form1 : Form
{
OracleConnection con = new OracleConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
con.Open();
MessageBox.Show("Connected");
con.Close();
}
private void button2_Click(object sender, EventArgs e)
{
con.Close();
Close();
}
}
}