Laden...

Forenbeiträge von lieschen Ingesamt 25 Beiträge

12.04.2007 - 08:22 Uhr

Super, Danke dir!
Werde ich bald mal reinschauen

05.04.2007 - 14:42 Uhr

Jep, funktioniert jetzt. Danke dir vielmals!

05.04.2007 - 12:15 Uhr

Danke für deine schnelle Antwort Echo, nur finde ich mit IntelliSence in DataGridViewColumn keine Row.
Also Nachfolgendes funktioniert nicht:


DataGridViewColumn colPlanedMeasure = myDataGridView.Columns[1];

int countRow = ColPlanedMeasure.Rows.Count;

///.... und dann weiter zu einer for-Schleife

for(int i = 0;i < countRow; i++)
{
    temp = temp + colPlanedMeasure.Row[i].toString();
}

05.04.2007 - 11:35 Uhr

Hallo Forum,

ich hab folgendes Problem, ich habe ein gefülltes DataGridView mit zwei Spalten und einer beliebigen Anzahl an Zeilen. Von diesen beiden Spalten interessiert mich jetzt nur eine, da dort Werte vom Benutzer eingegeben werden. Diese Werte möchte ich jetzt aus der Spalte einlesen.
Habe es bisher so versucht.


  // Die Spalte  abrufen
            DataGridViewColumn colPlanedMeasure = mydataGridView.Columns[1];
            
            string temp = null;
            
            foreach (DataGridViewCell cell in colPlanedMeasure)
            {
               // val.Add(cell.Value.ToString());      
                temp = temp + cell.Value.ToString();
            }
            
            MessageBox.Show(temp);

Nur leider bekomme ich immer eine Fehlermeldung:
Eine foreach-Anweisung kann nicht für Variablen vom Typ "System.Windows.Forms.DataGridViewColumn" verwendet werden, da "System.Windows.Forms.DataGridViewColumn" keine öffentliche Definition für "GetEnumerator" enthält.

Was muss ich ändern oder wo ist der Fehler in meinem Denkansatz?

Vielen Dank im Voraus!

01.04.2007 - 14:56 Uhr

Hallo Forum,

ich habe eine grundsätzliche Frage. Unzwar, gibt es irgendwelche Funktionen in den VSTO (inclusive SE), die es mir ermöglichen auf eine vom Benutzer erstellte Excel PivotTabelle zuzugreifen.
Folgende Situation herrscht bei mir. Der Benutzer baut sich auf Basis eines OLAP-Cubes eine Auswertung in Excel 2007 mit Hilfe einer Pivottabelle auf. Ich suche jetzt einen Weg herauszubekommen welche Dimensionswerte angezeigt werden, sprich wie der Filter des Benutzers aussieht.
Beispiel: Der Benutzer lässt sich zeilenweise alle seine Produkte anzeigen. In diesem Fall will ich alle Produktnamen finden und auslesen. Setzt der Benutzer aber einen Filter und lässt sich nur bspw. 5 Produkte anzeigen, dann will ich nur diese 5 Namen haben.

Hoffe meine Frage ist nicht zu speziell.

Vielen Dank im Voraus!

24.07.2006 - 19:18 Uhr

Super Lord Hessia,

danke für die schnelle und hilfreiche Antwort.

Genau was ich gesucht habe. Nochmal vielen Dank!

24.07.2006 - 17:26 Uhr

Hallo Forum,

ich habe ein Problem bei dem ich nicht weiterkomme. Ich habe zwei Tabellen, die beide eine Auftragsnummer enthalten. Dabei gibt es doppelte Nummer und nicht doppel Nummern. Hier mal ein Beispiel für den Tabellenaufbau von dem ich spreche.

TabelleA

|Auftagsnr|
101
102
103
104
105
106

TabelleB

|Auftragsnr|
101
102
103

Jetzt möchte ich mit einer SQL-Abfrage wissen welche Auftragsnr noch nicht in Tabelle B enthalten sind. Denn genau mit diesen fehlenden Einträgen (hier 104;105;106) möchte ich anschließend TabelleB auffüllen.
Hoffe das ich mein Problem verständlich rübergebracht habe.

Vielen Dank schon mal im Voraus!

lieschen

03.03.2006 - 11:48 Uhr

(Sorry, hatte Browser Probleme und so wurde mein Artikel zweimal veröffentlicht)

03.03.2006 - 11:43 Uhr

Hallo Community!

Ich habe mal wieder ein Problem mit einer SQL Abfrage. Ich habe bisher folgendes Statement:

SELECT [Entsorger AG$Waste Ledger Entry_1].[Source No_] AS [Herkunftsnr.],
[Entsorger AG$Customer].Name, [Entsorger AG$Waste Ledger Entry_1].[Location Code] AS [Lagerort Code],
[Entsorger AG$Waste Ledger Entry_1].[Bin Code] AS [Lagerplatz Code],
[Entsorger AG$Waste Ledger Entry_1].[Int_ Material Catalog] AS [Sortennummer Code],
[Entsorger AG$Waste Ledger Entry_1].[Posting Date] AS Buchungsdatum,
[Entsorger AG$Waste Ledger Entry_1].[Source Type] AS Herkunftsart,
[Entsorger AG$Waste Ledger Entry_1].Description AS Beschreibung,
[Entsorger AG$Waste Ledger Entry_1].[Ext_ Material Catalog] AS [Avv Code],
[Entsorger AG$Waste Ledger Entry_1].[Entry Type] AS Postenart,
[Entsorger AG$Waste Ledger Entry_1].Quantity AS Menge, [Entsorger AG$Waste Ledger Entry_1].[Source Site Code] AS Herkunftsstelle,
[Entsorger AG$Vendor].Name AS Expr1FROM [Entsorger AG$Vendor]

RIGHT OUTER JOIN [Entsorger AG$Waste Ledger Entry] AS [Entsorger AG$Waste Ledger Entry_1] ON [Entsorger AG$Vendor].No_ = [Entsorger AG$Waste Ledger Entry_1].[Source No_]
LEFT OUTER JOIN [Entsorger AG$Customer] ON [Entsorger AG$Waste Ledger Entry_1].[Source No_] = [Entsorger AG$Customer].No_

ORDER BY [Entsorger AG$Waste Ledger Entry_1].[Source No_]

Mit dieser Abfrage will ich Daten aus der Tabelle "Waste Ledger Entry" holen und auf Basis des Attributes "Source No_" mir den zugehörigen Namen aus der Tabelle Customer oder Vendor holen. Dabei ist es aber auch noch möglich das eine ID in beiden Tabellen vorkommt. In diesem Fall sollen eben doppelte Daten angezeigt werden.Bisher bekomme ich nur meine ganzen Einträge aus Waste Ledger Entry angezeigt und den Namen aus der Customer Tabelle. Die Namen aus der Vendor Tabelle werden noch unterschlagen.Vielleicht kann ja jemand mein Problem nachvollziehen und mir helfen.

Danke schon mal im Voraus!

03.03.2006 - 11:42 Uhr

Hallo Community!

Ich habe mal wieder ein Problem mit einer SQL Abfrage. Ich habe bisher folgendes Statement:

SELECT [Entsorger AG$Waste Ledger Entry_1].[Source No_] AS [Herkunftsnr.],
[Entsorger AG$Customer].Name, [Entsorger AG$Waste Ledger Entry_1].[Location Code] AS [Lagerort Code],
[Entsorger AG$Waste Ledger Entry_1].[Bin Code] AS [Lagerplatz Code],
[Entsorger AG$Waste Ledger Entry_1].[Int_ Material Catalog] AS [Sortennummer Code],
[Entsorger AG$Waste Ledger Entry_1].[Posting Date] AS Buchungsdatum,
[Entsorger AG$Waste Ledger Entry_1].[Source Type] AS Herkunftsart,
[Entsorger AG$Waste Ledger Entry_1].Description AS Beschreibung,
[Entsorger AG$Waste Ledger Entry_1].[Ext_ Material Catalog] AS [Avv Code],
[Entsorger AG$Waste Ledger Entry_1].[Entry Type] AS Postenart,
[Entsorger AG$Waste Ledger Entry_1].Quantity AS Menge, [Entsorger AG$Waste Ledger Entry_1].[Source Site Code] AS Herkunftsstelle,
[Entsorger AG$Vendor].Name AS Expr1FROM [Entsorger AG$Vendor]

RIGHT OUTER JOIN [Entsorger AG$Waste Ledger Entry] AS [Entsorger AG$Waste Ledger Entry_1] ON [Entsorger AG$Vendor].No_ = [Entsorger AG$Waste Ledger Entry_1].[Source No_]
LEFT OUTER JOIN [Entsorger AG$Customer] ON [Entsorger AG$Waste Ledger Entry_1].[Source No_] = [Entsorger AG$Customer].No_

ORDER BY [Entsorger AG$Waste Ledger Entry_1].[Source No_]

Mit dieser Abfrage will ich Daten aus der Tabelle "Waste Ledger Entry" holen und auf Basis des Attributes "Source No_" mir den zugehörigen Namen aus der Tabelle Customer oder Vendor holen. Dabei ist es aber auch noch möglich das eine ID in beiden Tabellen vorkommt. In diesem Fall sollen eben doppelte Daten angezeigt werden.Bisher bekomme ich nur meine ganzen Einträge aus Waste Ledger Entry angezeigt und den Namen aus der Customer Tabelle. Die Namen aus der Vendor Tabelle werden noch unterschlagen.Vielleicht kann ja jemand mein Problem nachvollziehen und mir helfen.

Danke schon mal im Voraus!

23.02.2006 - 20:40 Uhr

Vielen Dank!
Ich habe es mittlerweile so gelöst:

SELECT tblBeschreibung.Beschreibung, tblMaenner.Name
FROM tblMaenner INNER JOIN tblBeschreibung ON tblMaenner.MID = tblBeschreibung.PersonID
UNION
SELECT tblBeschreibung.Beschreibung, tblFrauen.Name
FROM tblFrauen INNER JOIN tblBeschreibung ON tblFrauen.FID = tblBeschreibung.PersonID;

Vielen Dank für die immer wieder schnelle Hilfe.

23.02.2006 - 19:58 Uhr

Hallo liebe Community!

Ich habe mich bei einer SQL Abfrage die ich brauche verrannt und sehe den Wald vor lauter Bäumen nicht mehr. Ist glaube ich ansich recht einfach nur komme ich nicht drauf.
Folgende Beispielsituation:
Ich habe drei Tabellen und die

tblMaenner

  • MID
  • Name

tblFrauen

  • FID
  • Name

tblAufgaben

  • Aufgaben
  • PersonID

In der Tabelle Aufgaben steht bei PersonID entweder die MID von tblMaenner oder aus tblFrauen die FID.
Ich brauche nun eine SELECT Abfrage, die mir als Ergebnis die Namen aus tblMaenner und tblFrauen liefert und die Aufgaben die zu dieser Person gehören.
Hoffe ich habe das nicht zu kompliziert erklärt.

Vielen Dank schon mal im voraus.

12.12.2005 - 16:18 Uhr

Hallo Rainbird!

Danke schon mal für die Hilfe. Habe hier im Forum ausführlich gesucht aber irgendwie finde ich nur Beispiele die zwar auf MAPI setzen aber dazu immer Outlook verwenden.
Auch das Beispiel das du selber geschrieben hast, setzt Outlook ein.
Ich möchte mich aber direkt an Exchange anmelden ohne dazu eine Instanz von Outlook laufen zu haben.

Vielen Dank!

lieschen

11.12.2005 - 11:22 Uhr

Hallo liebe Community,

ich habe zur Aufgabe eine Anwendung zu schreiben, die auf einen Exchange Server für einen bestimmten User Kontakte und Aufgaben erstellt. Das ganze kann man sich wie ein Importtool vorstellen. Also muss es auch möglich sein dort Ordner im "persönlichen Ordner" des geweiligen Users anzulegen und Mails dort speichern zu können.

Grundsätzlich würde ich jetzt gerne erstmal wissen welche Möglichkeiten es überhaupt gibt sich mit einer Anwendung mit Exchange zu verbinden und wie das unter C# zu realisieren ist.

Vielen Dank!

lieschen

27.07.2005 - 16:12 Uhr

Hi!

Ich hab noch ein wenig im Internet recherchiert und habe ein Beispiel gefunden, dass ich gleich eingebaut habe bei mir. Mein Code zum auslesen der von mir gewünschten Daten sieht jetzt so aus:


private void getDatabaseStructure(string selectedTabelle)
{        
        OracleDataReader myReader;			
			            			
	string sql_query = "SELECT * FROM ";
	sql_query += selectedTabelle;

	OracleCommand myCommand = new      
        OracleCommand(sql_query,singleton.Conn);
	myReader = myCommand.ExecuteReader(CommandBehavior.SchemaOnly);			
	dg_structure.DataSource=(myReader.GetSchemaTable());

	myReader.Close();
}

Das gefällt mir zwar schon ein wenig besser aber ich habe eben immer noch das Problem, dass mir die an das System angepassten Datentypen geliefert werden und nicht so wie sie in Oracle stehen.
Hat jemand eine Idee?

Vielen Dank mal wieder im voraus!

lieschen

27.07.2005 - 13:42 Uhr

Hallo!

Ich hoffe diese weitere Frage von mir liest auch jemand. Dachte das ich diesen Artikel besser weiterschreibe als einen neuen zu eröffnen, denn immerhin habe ich noch das gleiche Problem.

Also ich habe mittlerweile keine Probleme meinen TreeView aus den bestehenden Tabellen einer Datenbank aufzubauen. Das Auslesen der ganzen Datensätze einer Tabelle ist auch kein Probleme und das anzeigen.
Jetzt habe ich aber immer noch das Problem an die Datentypen der einzelnen Spalten einer Tabelle zu kommen. Für Testzwecke habe ich mir erstmal meine Daten wie folgt in einer MessageBox umgeleitet.


private void getDatabaseStructure(string selectedTabelle)
		{			
			OracleDataReader myReader;			
			            			
			string sql_query = "SELECT * FROM ";
			sql_query += selectedTabelle;

			OracleCommand myCommand = new   
                             OracleCommand(sql_query,singleton.Conn);
			myReader = myCommand.ExecuteReader();			
			
			// erstelle Tabellenstruktur aus DB Schema
			DataTable dt = myReader.GetSchemaTable();
			
			
			//Generieren der Spaltennamen und der Datentypen
			FlG_DBStructure.Cols.Count = 1;
			string test = "";
			foreach (DataRow dr in dt.Rows)
			{
				test += dr["ColumnOrdinal"] + " " +dr["IsKey"] + " " + dr["ColumnName"]
					+ " " + dr["DataType"]+" "+dr["AllowDBNull"]+" "+"\n";

			}
			MessageBox.Show(test);
		}

Das Problem hierbei ist aber das ich den Datentyp im Format von C# geliefert bekomme und nicht so wie es wirklich in der Oracle-Datenbank steht. Also zum Beispiel SYSTEM.STRING anstatt VARCHAR(50).

Kann mir bitte noch jemand helfen und verraten wie ich den Datentyp und vielleicht noch den Primaryschlüssel bekomme?

Vielen Dank

lieschen

12.07.2005 - 13:28 Uhr

OK vielen dank!

Hab das jetzt verstanden und kann mir das so zusammenstellen wie ich es benötige.
Nochmal vielen Dank für deine Hilfe!

12.07.2005 - 12:49 Uhr

Sieht schon nicht schlecht aus. Nochmal des Verstehens wegen. Sehe ich das richtig das
table_name, all_tables und tablespace_name als sowas wie von Oracle vorgegebene Konstanten ansehen kann?
Also wenn ich 1 zu 1 deine Anweisung benutze bekomme ich kein Ergebnis. Wenn ich die WHERE-Bedingung wegnehme bekomme ich eine große anzahl von vermeindlichen Tabellennamen. Darunter stehen dann aber auch einige sehr seltsame Name, die gar keine Tabellen sein können wie z.B. WK$MIMETYPES, WK$LANG, OLAPTABLEVELS usw.

Also kann ich von mir aus schon einmal sagen das es bisher noch an der WHERE Bedingung scheitert. Was bedeutet denn dieses tablespace_name und dann die Angabe von 'USER' ???

12.07.2005 - 11:34 Uhr

Danke ikaros!

Vielen Dank schon einmal! Dein Tipp hat mich schon bis hierher einiges weitergebracht

Habe mir mal ein paar Quellen zu GetSchemaTable durchgelesen. Schaut sehr gut aus. So wie ich diese Methode verstanden habe bekomme ich dadurch informationen über eine Tabelle so wie ich sie brauche.
Jetzt habe ich noch das Problem das ich einen TreeView erstellen will, in dem alle Tabellen angezeigt werden die in einer Datenbank enthalten sind. Aber dazu suche ich eine Möglichkeit wie ich Informationen über die Datenbank bekomme. Also wieviele Tabellen sie enthält und wie deren Namen sind.
Danach soll dann eben im TreeView ausgewählt werden über welche Tabelle man mehr erfahren möchte. Erst an der stelle würde ich mich der GetSchemaTable Methode bedienen.
Also bleibt mir also noch das Problem mit den Infos über die DB.

12.07.2005 - 09:25 Uhr

Hi Noodles!

Deine SELECT-Anweisung funktioniert bei mir nicht. Wenn ich

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

eingebe dann bekomme ich die Fehlermeldung:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
*
FEHLER in Zeile 1:
ORA-00942: Tabelle oder View nicht vorhanden

gruß
lieschen

12.07.2005 - 08:53 Uhr

Hi!

Vielen Dank für die rege Beteiligung aber irgendwie funktioniert das noch nicht so richtig. Also ich habe eine Datenbank namens AEM mit 5 Tabellen bearbeitung, user, artikel, auftraege und Kunden.
Aber prinzipiell soll mein Tool auch Informationen über Tabellen auslesen aus Datenbanken, mit einer unbekannten Anzahl von Tabellen.

Wie benutze ich ich denn diese eine SELECT-Anweisung, die als Tipp kam?
SELECT * FROM bearbeitung.Columns ??? oder wie?

und die Andere Anweisung dann: DESC bearbeitung; ???

Funktioniert so aber beides nicht.

danke!
lieschen

11.07.2005 - 17:12 Uhr

Hallo liebes Forum!

Bin kein C# Experte und deshalb mag meine Frage vielleicht blöd sein aber ich komme einfach nicht drauf. Folgendes Problem:
Ich soll ein Tool erstellen, dass in der Lage ist von einer bestehenden Tabelle in einer Oracle-Datenbank, die Attribute auszulesen (also Spaltenname, Datentyp usw.) und diese Informationen sollen dann in eine XML-Datei geschrieben werden.
Mit XML komme ich mittlerweile klar nur wie kann ich an "Metadaten" zu einer Tabelle kommen? Gibt es dafür ein bestimmtes SQL-Statement das mir als Ergebnis schon alle benötigten Informationen liefert?

Würde mich über Hilfe sehr freuen!
Danke schon einmal im voraus!

lieschen

14.06.2005 - 14:01 Uhr

Ok, danke!

Hatte mir bisher die Daten über eine bestehende Connection folgendermaßen eingelesen:


DataSet myDataSet = new DataSet("myDataSet");
myDataSet.ReadXml(XmlFileName, XmlReadMode.Auto);
OracleDataAdapter adapter = new OracleDataAdapter();

Werde mir jetzt was neues überlegen und deine Worte aufnehmen.

Danke!

lieschen

14.06.2005 - 13:43 Uhr

Ein Beispiel für eine XML-Datei wie ich sie habe sieht folgendermaßen aus:


<?xml version="1.0" encoding="utf-8" ?>
<DBObject name="SL_KUNDE" >
<Structure>
<Table>
<Column nr="1" name="KUNR" type="NUMBER" nullable="NO" />
<Column nr="2" name="NAME" type="CHAR(20)" nullable="NO" />
<Column nr="3" name="VORNAME" type="CHAR(15)" nullable="YES" />
<Column nr="4" name="PLZ" type="NUMBER" nullable="YES" />
<Column nr="5" name="ORT" type="CHAR(30)" nullable="YES" />
<Column nr="6" name="STR" type="CHAR(30)" nullable="YES" />
<Column nr="7" name="KRED_LIM" type="NUMBER(7,2)" nullable="NO" />
<Primary_Key name="SYS_C005691">KUNR</Primary_Key>
</Table>
</Structure>
<Data>
<Row nr="1"><Item colnr="1">536</Item><Item colnr="2">Hans                </Item><Item colnr="3">meier          </Item><Item colnr="4">59423</Item><Item colnr="5">Unna                          </Item><Item colnr="6">hier str                      </Item><Item colnr="7">10000</Item></Row>
<Row nr="2"><Item colnr="1">342</Item><Item colnr="2">Horst               </Item><Item colnr="3">bucher         </Item><Item colnr="4">59425</Item><Item colnr="5">Hagen                         </Item><Item colnr="6">dort str                      </Item><Item colnr="7">20000</Item></Row>
<Row nr="3"><Item colnr="1">352</Item><Item colnr="2">Miro                </Item><Item colnr="3">klose          </Item><Item colnr="4">52225</Item><Item colnr="5">Dortmund                      </Item><Item colnr="6">bremer str                    </Item><Item colnr="7">50000</Item></Row>
</Data>
</DBObject>

Also bleibt mir wohl nichts anderes übrig als die Datei stückchenweise auszulesen und mir so meine CREATE TABLE Anweisung selbst zusammen zu basteln.
Kann mir dann den schritt mit dem einlesen der Tabelle in ein DataSet sparen.

Danke

mfg

lieschen

14.06.2005 - 13:25 Uhr

Hallo!

Ich habe ein großes Problem und weiss nicht mehr weiter. Die Situation ist folgende: Ich bekomme eine XML-Datei die eine komplette Tabelle mit allen Datensätzen beinhaltet. Ich soll nun ein C# Programm schreiben das diese XML-Datei einliest und die Tabelle dann an eine Oracle-Datenbank schickt um dort die Tabelle neu zu erstellen.

Ich habe wohl schon etwas gelesen wie ich die XML-Datei in ein DataSet einlese und dann noch einen Adapter nutze aber ich habe das so verstanden das ich damit dann nur UPDATE, INSERT, ... benutzen kann und eben kein CREATE.

Vorweg schon mal vielen Dank!

lieschen ?