Zum Inhalt springen

[C#] Parameter in Sql-Command=?


wilmau

Empfohlene Beiträge

Das ist so ziemlich immer möglich, egal wie Du SQL bedienst. Willst Du mit PHP arbeiten oder wie?

Jedenfalls kannst Du den SQL-String zusammenbauen wie jeden anderen String auch.

Beispiel in PHP:

mysql_query("SELECT * FROM tabelle WHERE bedingung=$Variable", $sql_connection_id);

Hilft Dir das?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Willst Du mit PHP arbeiten oder wie?

ich arbeite mit der C# Entwicklungsumgebung

und die datenbank ist MySql.

Mein Problem ist, das ich einen 2 Seite langen Sql-String habe und da mehrmals nach dem selben gefiltert wird,

da ich mit substrings arbeite, will ich die selbe Variable mehrmals im

Sql-Command gebrauchen.

Beispiel:

----------------

variable = "Hans"

SELECT * FROM tabelle WHERE Feld1 = variable AND

FELD2 = variable;

-----------------

wenn es soetwas gibt, wie schreib ich das hin?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ne, eigendlich nicht.

ich würde gerne wissen ob es eine möglichkeit gibt

im Sql_Command eine Variable am anfang zu setzen und diese mehrfach im Command zu nutzen.

hier mein sql_Command:

An den Stellen wo du LIKE " ... " findest, will ich dahinter eine Variable

haben, da ich den Wert nur einmal z.B am anfang setzen will.

z.B.:

Variable1 ist bestelldatum = "2005%"

Variable2 ist status = "ib%";

--------------------------

SELECT

auftraege.auftragsnr,

auftraege.angebotsnr,

auftraege.auftragstyp,

auftraege.fk_anlagennr,

auftraege.auftragsstatus,

auftraege.kunde,

auftraege.bestellnrkunde,

auftraege.bestelldatum,

auftraege.beschreibung,

auftraege.produktbereich,

auftraege.projektleiterintern,

auftraege.verkaeufer,

auftraege.techasp,

auftraege.kaufmasp,

auftraege.waehrung,

auftraege.eingabedatum,

auftraege.eingegebenvon,

TempTable.Sollkosten_gesamt,

TempTable.Istkosten_gesamt,

TempTable.VkPreis_gesamt,

sum(auftragspositionen.vkpreis) as Auftragswert,

TempTable.Istkosten_Leistung,

TempTable.Sollkosten_Leistung,

TempTable.VkPreis_Leistung,

TempTable.Istkosten_Material,

TempTable.Sollkosten_Material,

TempTable.VkPreis_Material,

-- TempTable.Istkosten_Reise,

TempTable.Sollkosten_Reise,

TempTable.VkPreis_Reise

FROM (SELECT auftraege.*

FROM auftraege

WHERE auftraege.bestelldatum LIKE "2005%"

AND auftraege.auftragsstatus LIKE "%") As auftraege

LEFT JOIN auftragspositionen ON auftraege.auftragsnr = auftragspositionen.fk_auftragsnr

LEFT JOIN (SELECT auftraege.auftragsnr, sum(IFNULL(MaterialTable.Istkosten_Material,0) + IFNULL(LeistungsTable.Istkosten_Leistung,0)) as Istkosten_gesamt,

SUM(IFNULL(ReiseTable.Sollkosten_Reise,0) + IFNULL(MaterialTable.Sollkosten_Material,0) + IFNULL(LeistungsTable.Sollkosten_Leistung,0)) As Sollkosten_gesamt,

SUM(IFNULL(ReiseTable.VkPreis_Reise,0) + IFNULL(MaterialTable.VkPreis_Material,0) + IFNULL(LeistungsTable.VkPreis_Leistung,0)) As VkPreis_gesamt,

LeistungsTable.Istkosten_Leistung,

LeistungsTable.Sollkosten_Leistung,

LeistungsTable.VkPreis_Leistung,

MaterialTable.Istkosten_Material,

MaterialTable.Sollkosten_Material,

MaterialTable.VkPreis_Material,

ReiseTable.Sollkosten_Reise,

ReiseTable.VkPreis_Reise

FROM auftraege,

(SELECT auftraege.auftragsnr, Dienstleistungen.Sollkosten_Leistung As Sollkosten_Leistung,

sum(dienstleistungserfassung.menge*dienstleistungserfassung.kostenproeinheit) as Istkosten_Leistung,

Dienstleistungen.VkPreis_Leistung

FROM auftraege

LEFT JOIN dienstleistungserfassung

ON auftraege.auftragsnr = dienstleistungserfassung.fk_auftragsnr

LEFT JOIN (SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten,

sum(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Leistung,

SUM(auftragspositionen.vkpreis) As VkPreis_Leistung

FROM auftragspositionen

WHERE auftragspositionen.leistungskategorie = "D"

GROUP BY fk_auftragsnr) As Dienstleistungen

ON auftraege.auftragsnr = Dienstleistungen.fk_auftragsnr

WHERE auftraege.bestelldatum LIKE "2005%"

AND auftraege.auftragsstatus LIKE "%"

GROUP BY auftraege.auftragsnr) As LeistungsTable,

(SELECT auftraege.auftragsnr, Materialkosten.Sollkosten_Material As Sollkosten_Material,

sum(materialkostenerfassung.menge*materialkostenerfassung.ekpreis) as Istkosten_Material,

Materialkosten.VkPreis_Material

FROM auftraege

LEFT JOIN materialkostenerfassung

ON auftraege.auftragsnr = materialkostenerfassung.fk_auftragsnr

LEFT JOIN

(SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten,

sum(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Material,

SUM(auftragspositionen.vkpreis) As VkPreis_Material

FROM auftragspositionen

WHERE auftragspositionen.leistungskategorie = "M"

GROUP BY fk_auftragsnr) As Materialkosten

ON auftraege.auftragsnr = Materialkosten.fk_auftragsnr

WHERE auftraege.bestelldatum LIKE "2005%"

AND auftraege.auftragsstatus LIKE "%"

GROUP BY auftraege.auftragsnr) As MaterialTable,

(SELECT auftraege.auftragsnr, Reisekosten.Sollkosten_Reise As Sollkosten_Reise, Reisekosten.VkPreis_Reise

FROM auftraege

LEFT JOIN

(SELECT auftragspositionen.fk_auftragsnr, auftragspositionen.gepl_menge, auftragspositionen.gepl_einzelkosten,

SUM(auftragspositionen.gepl_menge*auftragspositionen.gepl_einzelkosten) as Sollkosten_Reise,

SUM(auftragspositionen.vkpreis) As VkPreis_Reise

FROM auftragspositionen

WHERE auftragspositionen.leistungskategorie = "R"

GROUP BY fk_auftragsnr) As Reisekosten

ON auftraege.auftragsnr = Reisekosten.fk_auftragsnr

WHERE auftraege.bestelldatum LIKE "2005%"

AND auftraege.auftragsstatus LIKE "%"

GROUP BY auftraege.auftragsnr) As ReiseTable

WHERE auftraege.auftragsnr = LeistungsTable.auftragsnr

AND auftraege.auftragsnr = MaterialTable.auftragsnr

AND auftraege.auftragsnr = ReiseTable.auftragsnr

GROUP BY auftraege.auftragsnr) As TempTable ON auftraege.auftragsnr = TempTable.auftragsnr

GROUP BY auftraege.auftragsnr

-----------------------------------------------------------

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist doch eine C# Frage. Den Select führst Du doch innerhalb von C# aus.

Du willst sowas machen: auftraege.bestelldatum LIKE "+bestelldatum+". Da ich aber kein C# kann weiss ich nicht die richtige Antwort bzw. ich habe da so spezielle Vermutungen wie es in anderen Sprachen gemacht wird.

Lass den Beitrag doch mal ins C# Forum verschieben.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist doch eine C# Frage.

Lass den Beitrag doch mal ins C# Forum verschieben.

Frank

nun, ich wollte ja nur wissen wie dazu die Syntax in MySql ist, falls

es überhaupt geht! aber ist ne gute Idee. Werde es im C#-Forum mal versuchen, vielleicht kann mir da weiter geholfen werden.

Aber wie verschieb ich diesen Beitrag in's C# Forum?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...